YES 11.451 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]) :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]
eltsFM_GE fm fr foldFM_GE (\key elt rest ->elt : rest) [] fr fm

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord b => (b  ->  a  ->  c  ->  c ->  c  ->  b  ->  FiniteMap b a  ->  c
foldFM_GE k z fr EmptyFM z
foldFM_GE k z fr (Branch key elt _ fm_l fm_r
 | key >= fr = 
foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
 | otherwise = 
foldFM_GE k z fr fm_r

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrestelt : rest

is transformed to
eltsFM_GE0 key elt rest = elt : rest

The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]) :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord c => (c  ->  b  ->  a  ->  a ->  a  ->  c  ->  FiniteMap c b  ->  a
foldFM_GE k z fr EmptyFM z
foldFM_GE k z fr (Branch key elt _ fm_l fm_r
 | key >= fr = 
foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
 | otherwise = 
foldFM_GE k z fr fm_r

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]) :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord a => FiniteMap a b  ->  a  ->  [b]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord b => (b  ->  c  ->  a  ->  a ->  a  ->  b  ->  FiniteMap b c  ->  a
foldFM_GE k z fr EmptyFM z
foldFM_GE k z fr (Branch key elt _ fm_l fm_r
 | key >= fr = 
foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
 | otherwise = 
foldFM_GE k z fr fm_r

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]) :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord a => FiniteMap a b  ->  a  ->  [b]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord c => (c  ->  b  ->  a  ->  a ->  a  ->  c  ->  FiniteMap c b  ->  a
foldFM_GE k z fr EmptyFM z
foldFM_GE k z fr (Branch key elt _ fm_l fm_r
 | key >= fr = 
foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
 | otherwise = 
foldFM_GE k z fr fm_r

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]) :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord a => FiniteMap a b  ->  a  ->  [b]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord b => (b  ->  a  ->  c  ->  c ->  c  ->  b  ->  FiniteMap b a  ->  c
foldFM_GE k z fr EmptyFM z
foldFM_GE k z fr (Branch key elt wv fm_l fm_r
 | key >= fr = 
foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
 | otherwise = 
foldFM_GE k z fr fm_r

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vx vy size vz wusize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
foldFM_GE k z fr EmptyFM = z
foldFM_GE k z fr (Branch key elt wv fm_l fm_r)
 | key >= fr
 = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
 | otherwise
 = foldFM_GE k z fr fm_r

is transformed to
foldFM_GE k z fr EmptyFM = foldFM_GE3 k z fr EmptyFM
foldFM_GE k z fr (Branch key elt wv fm_l fm_r) = foldFM_GE2 k z fr (Branch key elt wv fm_l fm_r)

foldFM_GE0 k z fr key elt wv fm_l fm_r True = foldFM_GE k z fr fm_r

foldFM_GE1 k z fr key elt wv fm_l fm_r True = foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
foldFM_GE1 k z fr key elt wv fm_l fm_r False = foldFM_GE0 k z fr key elt wv fm_l fm_r otherwise

foldFM_GE2 k z fr (Branch key elt wv fm_l fm_r) = foldFM_GE1 k z fr key elt wv fm_l fm_r (key >= fr)

foldFM_GE3 k z fr EmptyFM = z
foldFM_GE3 vvu vvv vvw vvx = foldFM_GE2 vvu vvv vvw vvx

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x vvy = gcd'2 x vvy
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x vvy = x
gcd'1 vvz vwu vwv = gcd'0 vwu vwv

gcd'2 x vvy = gcd'1 (vvy == 0) x vvy
gcd'2 vww vwx = gcd'0 vww vwx

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vwy vwz = gcd3 vwy vwz
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x vvy = gcd'2 x vvy
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvy = x
gcd'1 vvz vwu vwv = gcd'0 vwu vwv
gcd'2 x vvy = gcd'1 (vvy == 0) x vvy
gcd'2 vww vwx = gcd'0 vww vwx

gcd1 True vwy vwz = error []
gcd1 vxu vxv vxw = gcd0 vxv vxw

gcd2 True vwy vwz = gcd1 (vwz == 0) vwy vwz
gcd2 vxx vxy vxz = gcd0 vxy vxz

gcd3 vwy vwz = gcd2 (vwy == 0) vwy vwz
gcd3 vyu vyv = gcd0 vyu vyv

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]) :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord a => FiniteMap a b  ->  a  ->  [b]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord a => (a  ->  b  ->  c  ->  c ->  c  ->  a  ->  FiniteMap a b  ->  c
foldFM_GE k z fr EmptyFM foldFM_GE3 k z fr EmptyFM
foldFM_GE k z fr (Branch key elt wv fm_l fm_rfoldFM_GE2 k z fr (Branch key elt wv fm_l fm_r)

  
foldFM_GE0 k z fr key elt wv fm_l fm_r True foldFM_GE k z fr fm_r

  
foldFM_GE1 k z fr key elt wv fm_l fm_r True foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
foldFM_GE1 k z fr key elt wv fm_l fm_r False foldFM_GE0 k z fr key elt wv fm_l fm_r otherwise

  
foldFM_GE2 k z fr (Branch key elt wv fm_l fm_rfoldFM_GE1 k z fr key elt wv fm_l fm_r (key >= fr)

  
foldFM_GE3 k z fr EmptyFM z
foldFM_GE3 vvu vvv vvw vvx foldFM_GE2 vvu vvv vvw vvx

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vx vy size vz wusize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 vyw vyx x y True = error []
reduce2Reduce1 vyw vyx x y False = reduce2Reduce0 vyw vyx x y otherwise

reduce2D vyw vyx = gcd vyw vyx

reduce2Reduce0 vyw vyx x y True = x `quot` reduce2D vyw vyx :% (y `quot` reduce2D vyw vyx)

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x vvy = gcd'2 x vvy
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvy = x
gcd'1 vvz vwu vwv = gcd'0 vwu vwv
gcd'2 x vvy = gcd'1 (vvy == 0) x vvy
gcd'2 vww vwx = gcd'0 vww vwx

are unpacked to the following functions on top level
gcd0Gcd'2 x vvy = gcd0Gcd'1 (vvy == 0) x vvy
gcd0Gcd'2 vww vwx = gcd0Gcd'0 vww vwx

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd' x vvy = gcd0Gcd'2 x vvy
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'1 True x vvy = x
gcd0Gcd'1 vvz vwu vwv = gcd0Gcd'0 vwu vwv



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((eltsFM_GE :: Ord a => FiniteMap a b  ->  a  ->  [b]) :: Ord a => FiniteMap a b  ->  a  ->  [b])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord c => (c  ->  a  ->  b  ->  b ->  b  ->  c  ->  FiniteMap c a  ->  b
foldFM_GE k z fr EmptyFM foldFM_GE3 k z fr EmptyFM
foldFM_GE k z fr (Branch key elt wv fm_l fm_rfoldFM_GE2 k z fr (Branch key elt wv fm_l fm_r)

  
foldFM_GE0 k z fr key elt wv fm_l fm_r True foldFM_GE k z fr fm_r

  
foldFM_GE1 k z fr key elt wv fm_l fm_r True foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
foldFM_GE1 k z fr key elt wv fm_l fm_r False foldFM_GE0 k z fr key elt wv fm_l fm_r otherwise

  
foldFM_GE2 k z fr (Branch key elt wv fm_l fm_rfoldFM_GE1 k z fr key elt wv fm_l fm_r (key >= fr)

  
foldFM_GE3 k z fr EmptyFM z
foldFM_GE3 vvu vvv vvw vvx foldFM_GE2 vvu vvv vvw vvx

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vx vy size vz wusize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (eltsFM_GE :: Ord b => FiniteMap b a  ->  b  ->  [a])

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  eltsFM_GE :: Ord a => FiniteMap a b  ->  a  ->  [b]
eltsFM_GE fm fr foldFM_GE eltsFM_GE0 [] fr fm

  
eltsFM_GE0 key elt rest elt : rest

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  foldFM_GE :: Ord a => (a  ->  b  ->  c  ->  c ->  c  ->  a  ->  FiniteMap a b  ->  c
foldFM_GE k z fr EmptyFM foldFM_GE3 k z fr EmptyFM
foldFM_GE k z fr (Branch key elt wv fm_l fm_rfoldFM_GE2 k z fr (Branch key elt wv fm_l fm_r)

  
foldFM_GE0 k z fr key elt wv fm_l fm_r True foldFM_GE k z fr fm_r

  
foldFM_GE1 k z fr key elt wv fm_l fm_r True foldFM_GE k (k key elt (foldFM_GE k z fr fm_r)) fr fm_l
foldFM_GE1 k z fr key elt wv fm_l fm_r False foldFM_GE0 k z fr key elt wv fm_l fm_r otherwise

  
foldFM_GE2 k z fr (Branch key elt wv fm_l fm_rfoldFM_GE1 k z fr key elt wv fm_l fm_r (key >= fr)

  
foldFM_GE3 k z fr EmptyFM z
foldFM_GE3 vvu vvv vvw vvx foldFM_GE2 vvu vvv vvw vvx

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch vx vy size vz wusize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vyy30000), Succ(vyy4000)) → new_primEqNat(vyy30000, vyy4000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vyy33000), Succ(vyy40000)) → new_primPlusNat(vyy33000, vyy40000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vyy30000), Succ(vyy4000)) → new_primMulNat(vyy30000, Succ(vyy4000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vyy3000), Succ(vyy400)) → new_primCmpNat(vyy3000, vyy400)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), app(app(ty_@2, cb), cc), cd) → new_esEs(vyy3000, vyy400, cb, cc)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), app(ty_[], ce), cd) → new_esEs0(vyy3000, vyy400, ce)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, app(ty_Maybe, hh), hf) → new_esEs1(vyy3001, vyy401, hh)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), app(ty_Maybe, bba), gb, hf) → new_esEs1(vyy3000, vyy400, bba)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), app(app(app(ty_@3, bbb), bbc), bbd), gb, hf) → new_esEs2(vyy3000, vyy400, bbb, bbc, bbd)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, gb, app(ty_[], ge)) → new_esEs0(vyy3002, vyy402, ge)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, app(app(ty_Either, bad), bae), hf) → new_esEs3(vyy3001, vyy401, bad, bae)
new_esEs3(Left(vyy3000), Left(vyy400), app(ty_Maybe, bcc), bca) → new_esEs1(vyy3000, vyy400, bcc)
new_esEs0(:(vyy3000, vyy3001), :(vyy400, vyy401), app(app(app(ty_@3, eb), ec), ed)) → new_esEs2(vyy3000, vyy400, eb, ec, ed)
new_esEs1(Just(vyy3000), Just(vyy400), app(app(ty_@2, eg), eh)) → new_esEs(vyy3000, vyy400, eg, eh)
new_esEs3(Right(vyy3000), Right(vyy400), bda, app(app(ty_Either, bea), beb)) → new_esEs3(vyy3000, vyy400, bea, beb)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), h, app(ty_Maybe, bd)) → new_esEs1(vyy3001, vyy401, bd)
new_esEs1(Just(vyy3000), Just(vyy400), app(ty_[], fa)) → new_esEs0(vyy3000, vyy400, fa)
new_esEs3(Left(vyy3000), Left(vyy400), app(app(ty_Either, bcg), bch), bca) → new_esEs3(vyy3000, vyy400, bcg, bch)
new_esEs3(Left(vyy3000), Left(vyy400), app(app(ty_@2, bbg), bbh), bca) → new_esEs(vyy3000, vyy400, bbg, bbh)
new_esEs0(:(vyy3000, vyy3001), :(vyy400, vyy401), app(app(ty_Either, ee), ef)) → new_esEs3(vyy3000, vyy400, ee, ef)
new_esEs1(Just(vyy3000), Just(vyy400), app(app(ty_Either, fg), fh)) → new_esEs3(vyy3000, vyy400, fg, fh)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), h, app(app(app(ty_@3, be), bf), bg)) → new_esEs2(vyy3001, vyy401, be, bf, bg)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), app(app(ty_Either, dc), dd), cd) → new_esEs3(vyy3000, vyy400, dc, dd)
new_esEs0(:(vyy3000, vyy3001), :(vyy400, vyy401), app(ty_Maybe, ea)) → new_esEs1(vyy3000, vyy400, ea)
new_esEs3(Left(vyy3000), Left(vyy400), app(ty_[], bcb), bca) → new_esEs0(vyy3000, vyy400, bcb)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), h, app(app(ty_Either, bh), ca)) → new_esEs3(vyy3001, vyy401, bh, ca)
new_esEs3(Right(vyy3000), Right(vyy400), bda, app(ty_[], bdd)) → new_esEs0(vyy3000, vyy400, bdd)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), app(app(ty_Either, bbe), bbf), gb, hf) → new_esEs3(vyy3000, vyy400, bbe, bbf)
new_esEs3(Right(vyy3000), Right(vyy400), bda, app(ty_Maybe, bde)) → new_esEs1(vyy3000, vyy400, bde)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, app(app(app(ty_@3, baa), bab), bac), hf) → new_esEs2(vyy3001, vyy401, baa, bab, bac)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), h, app(ty_[], bc)) → new_esEs0(vyy3001, vyy401, bc)
new_esEs1(Just(vyy3000), Just(vyy400), app(ty_Maybe, fb)) → new_esEs1(vyy3000, vyy400, fb)
new_esEs3(Right(vyy3000), Right(vyy400), bda, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs2(vyy3000, vyy400, bdf, bdg, bdh)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, gb, app(ty_Maybe, gf)) → new_esEs1(vyy3002, vyy402, gf)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), h, app(app(ty_@2, ba), bb)) → new_esEs(vyy3001, vyy401, ba, bb)
new_esEs1(Just(vyy3000), Just(vyy400), app(app(app(ty_@3, fc), fd), ff)) → new_esEs2(vyy3000, vyy400, fc, fd, ff)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), app(app(app(ty_@3, cg), da), db), cd) → new_esEs2(vyy3000, vyy400, cg, da, db)
new_esEs0(:(vyy3000, vyy3001), :(vyy400, vyy401), app(app(ty_@2, df), dg)) → new_esEs(vyy3000, vyy400, df, dg)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, app(app(ty_@2, hd), he), hf) → new_esEs(vyy3001, vyy401, hd, he)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), app(app(ty_@2, baf), bag), gb, hf) → new_esEs(vyy3000, vyy400, baf, bag)
new_esEs0(:(vyy3000, vyy3001), :(vyy400, vyy401), app(ty_[], dh)) → new_esEs0(vyy3000, vyy400, dh)
new_esEs3(Left(vyy3000), Left(vyy400), app(app(app(ty_@3, bcd), bce), bcf), bca) → new_esEs2(vyy3000, vyy400, bcd, bce, bcf)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, gb, app(app(ty_Either, hb), hc)) → new_esEs3(vyy3002, vyy402, hb, hc)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, gb, app(app(ty_@2, gc), gd)) → new_esEs(vyy3002, vyy402, gc, gd)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), app(ty_[], bah), gb, hf) → new_esEs0(vyy3000, vyy400, bah)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, app(ty_[], hg), hf) → new_esEs0(vyy3001, vyy401, hg)
new_esEs2(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), ga, gb, app(app(app(ty_@3, gg), gh), ha)) → new_esEs2(vyy3002, vyy402, gg, gh, ha)
new_esEs0(:(vyy3000, vyy3001), :(vyy400, vyy401), de) → new_esEs0(vyy3001, vyy401, de)
new_esEs3(Right(vyy3000), Right(vyy400), bda, app(app(ty_@2, bdb), bdc)) → new_esEs(vyy3000, vyy400, bdb, bdc)
new_esEs(@2(vyy3000, vyy3001), @2(vyy400, vyy401), app(ty_Maybe, cf), cd) → new_esEs1(vyy3000, vyy400, cf)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, app(ty_Maybe, cac), bfd) → new_lt1(vyy212, vyy215, cac)
new_ltEs3(Left(vyy2220), Left(vyy2230), app(app(ty_Either, cbh), cca), cbb) → new_ltEs3(vyy2220, vyy2230, cbh, cca)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, app(app(app(ty_@3, bhh), caa), cab), bfd) → new_lt0(vyy212, vyy215, bhh, caa, cab)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, h), app(ty_[], bg))) → new_ltEs2(vyy2221, vyy2231, bg)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), app(ty_[], db), cd) → new_lt2(vyy2220, vyy2230, db)
new_compare23(vyy234, vyy235, False, app(ty_Maybe, ced), cdh) → new_ltEs1(vyy234, vyy235, ced)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, app(app(ty_@2, gc), gd)), df), fb)) → new_lt(vyy2220, vyy2230, gc, gd)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, app(app(ty_@2, bcb), bcc), bcd) → new_compare1(vyy250, vyy252, bcb, bcc)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, app(ty_[], db)), cd)) → new_lt2(vyy2220, vyy2230, db)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, df, app(app(ty_@2, dg), dh)) → new_ltEs(vyy2222, vyy2232, dg, dh)
new_compare22(Left(vyy2220), Left(vyy2230), False, app(app(ty_Either, app(ty_Maybe, cbf)), cbb)) → new_ltEs1(vyy2220, vyy2230, cbf)
new_ltEs3(Right(vyy2220), Right(vyy2230), ccb, app(app(app(ty_@3, cce), ccf), ccg)) → new_ltEs0(vyy2220, vyy2230, cce, ccf, ccg)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, bdd, app(app(ty_Either, bed), bee)) → new_ltEs3(vyy251, vyy253, bed, bee)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, app(ty_[], fh), fb) → new_lt2(vyy2221, vyy2231, fh)
new_primCompAux(vyy300, vyy40, vyy191, app(ty_[], bbe)) → new_compare(vyy300, vyy40, bbe)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, app(ty_Maybe, bfh), bfc, bfd) → new_lt1(vyy211, vyy214, bfh)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, bdd, app(ty_[], bec)) → new_ltEs2(vyy251, vyy253, bec)
new_compare22(Just(vyy2220), Just(vyy2230), False, app(ty_Maybe, app(ty_[], bab))) → new_ltEs2(vyy2220, vyy2230, bab)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, h), app(app(ty_Either, bh), ca))) → new_ltEs3(vyy2221, vyy2231, bh, ca)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), app(app(app(ty_@3, fc), fd), ff)), fb)) → new_lt0(vyy2221, vyy2231, fc, fd, ff)
new_ltEs2(vyy222, vyy223, bae) → new_compare(vyy222, vyy223, bae)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), app(ty_[], ha), df, fb) → new_lt2(vyy2220, vyy2230, ha)
new_compare24(vyy241, vyy242, False, ceh, app(app(ty_Either, cfh), cga)) → new_ltEs3(vyy241, vyy242, cfh, cga)
new_ltEs3(Left(vyy2220), Left(vyy2230), app(ty_Maybe, cbf), cbb) → new_ltEs1(vyy2220, vyy2230, cbf)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), app(ty_Maybe, gh), df, fb) → new_lt1(vyy2220, vyy2230, gh)
new_compare23(vyy234, vyy235, False, app(ty_[], cee), cdh) → new_ltEs2(vyy234, vyy235, cee)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, app(ty_[], ha)), df), fb)) → new_lt2(vyy2220, vyy2230, ha)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), app(ty_Maybe, da), cd) → new_lt1(vyy2220, vyy2230, da)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, bfc, app(app(ty_@2, bge), bgf)) → new_ltEs(vyy213, vyy216, bge, bgf)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, df, app(ty_Maybe, ed)) → new_ltEs1(vyy2222, vyy2232, ed)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, app(app(ty_Either, hb), hc)), df), fb)) → new_lt3(vyy2220, vyy2230, hb, hc)
new_ltEs3(Right(vyy2220), Right(vyy2230), ccb, app(app(ty_Either, cdb), cdc)) → new_ltEs3(vyy2220, vyy2230, cdb, cdc)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, app(ty_[], bga), bfc, bfd) → new_lt2(vyy211, vyy214, bga)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, df, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs0(vyy2222, vyy2232, ea, eb, ec)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, app(app(ty_@2, eh), fa), fb) → new_lt(vyy2221, vyy2231, eh, fa)
new_compare23(vyy234, vyy235, False, app(app(ty_Either, cef), ceg), cdh) → new_ltEs3(vyy234, vyy235, cef, ceg)
new_lt1(vyy250, vyy252, bch) → new_compare3(vyy250, vyy252, bch)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), h, app(app(ty_Either, bh), ca)) → new_ltEs3(vyy2221, vyy2231, bh, ca)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), app(ty_[], fh)), fb)) → new_lt2(vyy2221, vyy2231, fh)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), h, app(app(ty_@2, ba), bb)) → new_ltEs(vyy2221, vyy2231, ba, bb)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), h, app(ty_Maybe, bf)) → new_ltEs1(vyy2221, vyy2231, bf)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), app(app(ty_Either, dc), dd), cd) → new_lt3(vyy2220, vyy2230, dc, dd)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, app(app(ty_Either, cae), caf), bfd) → new_lt3(vyy212, vyy215, cae, caf)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), h, app(ty_[], bg)) → new_ltEs2(vyy2221, vyy2231, bg)
new_compare1(@2(vyy300, vyy301), @2(vyy40, vyy41), bbh, bca) → new_compare20(vyy300, vyy301, vyy40, vyy41, new_asAs(new_esEs5(vyy300, vyy40, bbh), new_esEs4(vyy301, vyy41, bca)), bbh, bca)
new_lt2(vyy250, vyy252, bda) → new_compare(vyy250, vyy252, bda)
new_ltEs1(Just(vyy2220), Just(vyy2230), app(app(ty_@2, hd), he)) → new_ltEs(vyy2220, vyy2230, hd, he)
new_compare22(Just(vyy2220), Just(vyy2230), False, app(ty_Maybe, app(ty_Maybe, baa))) → new_ltEs1(vyy2220, vyy2230, baa)
new_ltEs3(Right(vyy2220), Right(vyy2230), ccb, app(ty_Maybe, cch)) → new_ltEs1(vyy2220, vyy2230, cch)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), app(app(ty_Either, hb), hc), df, fb) → new_lt3(vyy2220, vyy2230, hb, hc)
new_compare22(Left(vyy2220), Left(vyy2230), False, app(app(ty_Either, app(app(app(ty_@3, cbc), cbd), cbe)), cbb)) → new_ltEs0(vyy2220, vyy2230, cbc, cbd, cbe)
new_ltEs1(Just(vyy2220), Just(vyy2230), app(ty_[], bab)) → new_ltEs2(vyy2220, vyy2230, bab)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, app(ty_Maybe, gh)), df), fb)) → new_lt1(vyy2220, vyy2230, gh)
new_primCompAux(vyy300, vyy40, vyy191, app(app(ty_@2, bag), bah)) → new_compare1(vyy300, vyy40, bag, bah)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, bfc, app(ty_[], bhc)) → new_ltEs2(vyy213, vyy216, bhc)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, h), app(app(app(ty_@3, bc), bd), be))) → new_ltEs0(vyy2221, vyy2231, bc, bd, be)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, app(ty_Maybe, bch), bcd) → new_compare3(vyy250, vyy252, bch)
new_lt3(vyy250, vyy252, bdb, bdc) → new_compare4(vyy250, vyy252, bdb, bdc)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, app(app(ty_Either, dc), dd)), cd)) → new_lt3(vyy2220, vyy2230, dc, dd)
new_ltEs1(Just(vyy2220), Just(vyy2230), app(app(ty_Either, bac), bad)) → new_ltEs3(vyy2220, vyy2230, bac, bad)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, h), app(ty_Maybe, bf))) → new_ltEs1(vyy2221, vyy2231, bf)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, app(app(app(ty_@3, bce), bcf), bcg), bcd) → new_compare2(vyy250, vyy252, bce, bcf, bcg)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), df), app(app(app(ty_@3, ea), eb), ec))) → new_ltEs0(vyy2222, vyy2232, ea, eb, ec)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), app(app(ty_@2, gc), gd), df, fb) → new_lt(vyy2220, vyy2230, gc, gd)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, df, app(app(ty_Either, ef), eg)) → new_ltEs3(vyy2222, vyy2232, ef, eg)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, bfc, app(app(app(ty_@3, bgg), bgh), bha)) → new_ltEs0(vyy213, vyy216, bgg, bgh, bha)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, app(ty_Maybe, da)), cd)) → new_lt1(vyy2220, vyy2230, da)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, app(app(app(ty_@3, bfe), bff), bfg), bfc, bfd) → new_lt0(vyy211, vyy214, bfe, bff, bfg)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, app(app(ty_Either, bdb), bdc), bcd) → new_compare4(vyy250, vyy252, bdb, bdc)
new_compare22(Left(vyy2220), Left(vyy2230), False, app(app(ty_Either, app(app(ty_@2, cah), cba)), cbb)) → new_ltEs(vyy2220, vyy2230, cah, cba)
new_ltEs3(Right(vyy2220), Right(vyy2230), ccb, app(ty_[], cda)) → new_ltEs2(vyy2220, vyy2230, cda)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, app(app(app(ty_@3, ge), gf), gg)), df), fb)) → new_lt0(vyy2220, vyy2230, ge, gf, gg)
new_compare24(vyy241, vyy242, False, ceh, app(ty_[], cfg)) → new_ltEs2(vyy241, vyy242, cfg)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, app(ty_[], bda), bcd) → new_compare(vyy250, vyy252, bda)
new_compare4(Right(vyy300), Right(vyy40), cdd, cde) → new_compare24(vyy300, vyy40, new_esEs11(vyy300, vyy40, cde), cdd, cde)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), app(app(app(ty_@3, ge), gf), gg), df, fb) → new_lt0(vyy2220, vyy2230, ge, gf, gg)
new_compare22(Right(vyy2220), Right(vyy2230), False, app(app(ty_Either, ccb), app(app(app(ty_@3, cce), ccf), ccg))) → new_ltEs0(vyy2220, vyy2230, cce, ccf, ccg)
new_ltEs1(Just(vyy2220), Just(vyy2230), app(ty_Maybe, baa)) → new_ltEs1(vyy2220, vyy2230, baa)
new_compare22(Right(vyy2220), Right(vyy2230), False, app(app(ty_Either, ccb), app(app(ty_@2, ccc), ccd))) → new_ltEs(vyy2220, vyy2230, ccc, ccd)
new_lt(vyy250, vyy252, bcb, bcc) → new_compare1(vyy250, vyy252, bcb, bcc)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), app(ty_Maybe, fg)), fb)) → new_lt1(vyy2221, vyy2231, fg)
new_compare24(vyy241, vyy242, False, ceh, app(ty_Maybe, cff)) → new_ltEs1(vyy241, vyy242, cff)
new_ltEs1(Just(vyy2220), Just(vyy2230), app(app(app(ty_@3, hf), hg), hh)) → new_ltEs0(vyy2220, vyy2230, hf, hg, hh)
new_compare22(Left(vyy2220), Left(vyy2230), False, app(app(ty_Either, app(ty_[], cbg)), cbb)) → new_ltEs2(vyy2220, vyy2230, cbg)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, bdd, app(app(app(ty_@3, bdg), bdh), bea)) → new_ltEs0(vyy251, vyy253, bdg, bdh, bea)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), app(app(ty_@2, cb), cc), cd) → new_lt(vyy2220, vyy2230, cb, cc)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, app(app(app(ty_@3, ce), cf), cg)), cd)) → new_lt0(vyy2220, vyy2230, ce, cf, cg)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), df), app(ty_Maybe, ed))) → new_ltEs1(vyy2222, vyy2232, ed)
new_compare22(vyy222, vyy223, False, app(ty_[], bae)) → new_compare(vyy222, vyy223, bae)
new_lt0(vyy250, vyy252, bce, bcf, bcg) → new_compare2(vyy250, vyy252, bce, bcf, bcg)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), app(app(ty_Either, ga), gb)), fb)) → new_lt3(vyy2221, vyy2231, ga, gb)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), app(app(app(ty_@3, ce), cf), cg), cd) → new_lt0(vyy2220, vyy2230, ce, cf, cg)
new_ltEs3(Left(vyy2220), Left(vyy2230), app(ty_[], cbg), cbb) → new_ltEs2(vyy2220, vyy2230, cbg)
new_compare22(Just(vyy2220), Just(vyy2230), False, app(ty_Maybe, app(app(ty_Either, bac), bad))) → new_ltEs3(vyy2220, vyy2230, bac, bad)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, app(app(ty_@2, cb), cc)), cd)) → new_lt(vyy2220, vyy2230, cb, cc)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, app(app(app(ty_@3, fc), fd), ff), fb) → new_lt0(vyy2221, vyy2231, fc, fd, ff)
new_compare24(vyy241, vyy242, False, ceh, app(app(ty_@2, cfa), cfb)) → new_ltEs(vyy241, vyy242, cfa, cfb)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, app(app(ty_@2, bhf), bhg), bfd) → new_lt(vyy212, vyy215, bhf, bhg)
new_primCompAux(vyy300, vyy40, vyy191, app(app(ty_Either, bbf), bbg)) → new_compare4(vyy300, vyy40, bbf, bbg)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, bdd, app(ty_Maybe, beb)) → new_ltEs1(vyy251, vyy253, beb)
new_compare23(vyy234, vyy235, False, app(app(ty_@2, cdf), cdg), cdh) → new_ltEs(vyy234, vyy235, cdf, cdg)
new_compare24(vyy241, vyy242, False, ceh, app(app(app(ty_@3, cfc), cfd), cfe)) → new_ltEs0(vyy241, vyy242, cfc, cfd, cfe)
new_compare3(Just(vyy300), Just(vyy40), cag) → new_compare22(vyy300, vyy40, new_esEs9(vyy300, vyy40, cag), cag)
new_compare22(Right(vyy2220), Right(vyy2230), False, app(app(ty_Either, ccb), app(ty_Maybe, cch))) → new_ltEs1(vyy2220, vyy2230, cch)
new_ltEs3(Left(vyy2220), Left(vyy2230), app(app(ty_@2, cah), cba), cbb) → new_ltEs(vyy2220, vyy2230, cah, cba)
new_compare22(Just(vyy2220), Just(vyy2230), False, app(ty_Maybe, app(app(app(ty_@3, hf), hg), hh))) → new_ltEs0(vyy2220, vyy2230, hf, hg, hh)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), df), app(ty_[], ee))) → new_ltEs2(vyy2222, vyy2232, ee)
new_compare2(@3(vyy300, vyy301, vyy302), @3(vyy40, vyy41, vyy42), bef, beg, beh) → new_compare21(vyy300, vyy301, vyy302, vyy40, vyy41, vyy42, new_asAs(new_esEs8(vyy300, vyy40, bef), new_asAs(new_esEs7(vyy301, vyy41, beg), new_esEs6(vyy302, vyy42, beh))), bef, beg, beh)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, app(app(ty_Either, bgb), bgc), bfc, bfd) → new_lt3(vyy211, vyy214, bgb, bgc)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), df), app(app(ty_@2, dg), dh))) → new_ltEs(vyy2222, vyy2232, dg, dh)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, df, app(ty_[], ee)) → new_ltEs2(vyy2222, vyy2232, ee)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, bfc, app(app(ty_Either, bhd), bhe)) → new_ltEs3(vyy213, vyy216, bhd, bhe)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), df), app(app(ty_Either, ef), eg))) → new_ltEs3(vyy2222, vyy2232, ef, eg)
new_compare(:(vyy300, vyy301), :(vyy40, vyy41), baf) → new_compare(vyy301, vyy41, baf)
new_compare22(Right(vyy2220), Right(vyy2230), False, app(app(ty_Either, ccb), app(app(ty_Either, cdb), cdc))) → new_ltEs3(vyy2220, vyy2230, cdb, cdc)
new_compare(:(vyy300, vyy301), :(vyy40, vyy41), baf) → new_primCompAux(vyy300, vyy40, new_compare0(vyy301, vyy41, baf), baf)
new_compare4(Left(vyy300), Left(vyy40), cdd, cde) → new_compare23(vyy300, vyy40, new_esEs10(vyy300, vyy40, cdd), cdd, cde)
new_ltEs3(Right(vyy2220), Right(vyy2230), ccb, app(app(ty_@2, ccc), ccd)) → new_ltEs(vyy2220, vyy2230, ccc, ccd)
new_compare22(Left(vyy2220), Left(vyy2230), False, app(app(ty_Either, app(app(ty_Either, cbh), cca)), cbb)) → new_ltEs3(vyy2220, vyy2230, cbh, cca)
new_primCompAux(vyy300, vyy40, vyy191, app(app(app(ty_@3, bba), bbb), bbc)) → new_compare2(vyy300, vyy40, bba, bbb, bbc)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, app(ty_Maybe, fg), fb) → new_lt1(vyy2221, vyy2231, fg)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, app(ty_[], cad), bfd) → new_lt2(vyy212, vyy215, cad)
new_compare22(Right(vyy2220), Right(vyy2230), False, app(app(ty_Either, ccb), app(ty_[], cda))) → new_ltEs2(vyy2220, vyy2230, cda)
new_compare22(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), False, app(app(app(ty_@3, de), app(app(ty_@2, eh), fa)), fb)) → new_lt(vyy2221, vyy2231, eh, fa)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, bfc, app(ty_Maybe, bhb)) → new_ltEs1(vyy213, vyy216, bhb)
new_ltEs0(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, app(app(ty_Either, ga), gb), fb) → new_lt3(vyy2221, vyy2231, ga, gb)
new_ltEs(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), h, app(app(app(ty_@3, bc), bd), be)) → new_ltEs0(vyy2221, vyy2231, bc, bd, be)
new_compare20(vyy250, vyy251, vyy252, vyy253, False, bdd, app(app(ty_@2, bde), bdf)) → new_ltEs(vyy251, vyy253, bde, bdf)
new_ltEs3(Left(vyy2220), Left(vyy2230), app(app(app(ty_@3, cbc), cbd), cbe), cbb) → new_ltEs0(vyy2220, vyy2230, cbc, cbd, cbe)
new_compare22(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), False, app(app(ty_@2, h), app(app(ty_@2, ba), bb))) → new_ltEs(vyy2221, vyy2231, ba, bb)
new_primCompAux(vyy300, vyy40, vyy191, app(ty_Maybe, bbd)) → new_compare3(vyy300, vyy40, bbd)
new_compare22(Just(vyy2220), Just(vyy2230), False, app(ty_Maybe, app(app(ty_@2, hd), he))) → new_ltEs(vyy2220, vyy2230, hd, he)
new_compare21(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, app(app(ty_@2, bfa), bfb), bfc, bfd) → new_lt(vyy211, vyy214, bfa, bfb)
new_compare23(vyy234, vyy235, False, app(app(app(ty_@3, cea), ceb), cec), cdh) → new_ltEs0(vyy234, vyy235, cea, ceb, cec)

The TRS R consists of the following rules:

new_ltEs19(vyy234, vyy235, app(app(ty_@2, cdf), cdg)) → new_ltEs5(vyy234, vyy235, cdf, cdg)
new_esEs6(vyy302, vyy42, ty_@0) → new_esEs15(vyy302, vyy42)
new_ltEs18(vyy2221, vyy2231, app(ty_Ratio, dfe)) → new_ltEs15(vyy2221, vyy2231, dfe)
new_esEs26(vyy3001, vyy401, ty_@0) → new_esEs15(vyy3001, vyy401)
new_ltEs19(vyy234, vyy235, ty_Ordering) → new_ltEs12(vyy234, vyy235)
new_compare32(vyy300, vyy40, app(ty_Ratio, ffh)) → new_compare7(vyy300, vyy40, ffh)
new_esEs28(vyy2220, vyy2230, ty_Char) → new_esEs21(vyy2220, vyy2230)
new_esEs39(vyy211, vyy214, ty_Ordering) → new_esEs19(vyy211, vyy214)
new_esEs36(vyy2221, vyy2231, app(ty_Maybe, fg)) → new_esEs18(vyy2221, vyy2231, fg)
new_compare32(vyy300, vyy40, ty_@0) → new_compare18(vyy300, vyy40)
new_esEs36(vyy2221, vyy2231, app(ty_[], fh)) → new_esEs17(vyy2221, vyy2231, fh)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_compare9(Char(vyy300), Char(vyy40)) → new_primCmpNat0(vyy300, vyy40)
new_esEs29(vyy3002, vyy402, app(ty_Ratio, ebd)) → new_esEs22(vyy3002, vyy402, ebd)
new_compare17(Double(vyy300, vyy301), Double(vyy40, vyy41)) → new_compare6(new_sr(vyy300, vyy40), new_sr(vyy301, vyy41))
new_compare8(Integer(vyy300), Integer(vyy40)) → new_primCmpInt(vyy300, vyy40)
new_esEs34(vyy250, vyy252, app(ty_[], bda)) → new_esEs17(vyy250, vyy252, bda)
new_lt19(vyy250, vyy252, app(app(app(ty_@3, bce), bcf), bcg)) → new_lt8(vyy250, vyy252, bce, bcf, bcg)
new_esEs39(vyy211, vyy214, app(ty_Ratio, ffe)) → new_esEs22(vyy211, vyy214, ffe)
new_esEs28(vyy2220, vyy2230, app(ty_Maybe, da)) → new_esEs18(vyy2220, vyy2230, da)
new_compare15(vyy290, vyy291, True, dhf, dhg) → LT
new_esEs5(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_ltEs12(LT, GT) → True
new_compare14(Nothing, Just(vyy40), cag) → LT
new_esEs35(vyy3000, vyy400, app(ty_Ratio, fee)) → new_esEs22(vyy3000, vyy400, fee)
new_lt22(vyy211, vyy214, ty_Int) → new_lt4(vyy211, vyy214)
new_compare32(vyy300, vyy40, app(app(app(ty_@3, bba), bbb), bbc)) → new_compare5(vyy300, vyy40, bba, bbb, bbc)
new_compare26(vyy234, vyy235, False, dgb, cdh) → new_compare13(vyy234, vyy235, new_ltEs19(vyy234, vyy235, dgb), dgb, cdh)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Char, ehd) → new_esEs21(vyy3000, vyy400)
new_lt20(vyy2221, vyy2231, app(ty_Ratio, ffa)) → new_lt16(vyy2221, vyy2231, ffa)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs6(vyy302, vyy42, ty_Bool) → new_esEs24(vyy302, vyy42)
new_esEs8(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs6(vyy302, vyy42, app(app(app(ty_@3, dcf), dcg), dch)) → new_esEs20(vyy302, vyy42, dcf, dcg, dch)
new_lt23(vyy212, vyy215, ty_Double) → new_lt10(vyy212, vyy215)
new_esEs6(vyy302, vyy42, ty_Integer) → new_esEs16(vyy302, vyy42)
new_lt19(vyy250, vyy252, app(app(ty_Either, bdb), bdc)) → new_lt18(vyy250, vyy252, bdb, bdc)
new_lt20(vyy2221, vyy2231, app(app(app(ty_@3, fc), fd), ff)) → new_lt8(vyy2221, vyy2231, fc, fd, ff)
new_esEs27(vyy3000, vyy400, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_ltEs19(vyy234, vyy235, ty_Float) → new_ltEs11(vyy234, vyy235)
new_esEs11(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs34(vyy250, vyy252, app(app(app(ty_@3, bce), bcf), bcg)) → new_esEs20(vyy250, vyy252, bce, bcf, bcg)
new_esEs33(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs37(vyy2220, vyy2230, app(ty_[], ha)) → new_esEs17(vyy2220, vyy2230, ha)
new_lt12(vyy250, vyy252) → new_esEs19(new_compare28(vyy250, vyy252), LT)
new_esEs10(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_ltEs6(True, False) → False
new_lt19(vyy250, vyy252, ty_Int) → new_lt4(vyy250, vyy252)
new_ltEs20(vyy222, vyy223, app(ty_Ratio, eaa)) → new_ltEs15(vyy222, vyy223, eaa)
new_lt21(vyy2220, vyy2230, app(app(ty_@2, gc), gd)) → new_lt6(vyy2220, vyy2230, gc, gd)
new_compare32(vyy300, vyy40, ty_Integer) → new_compare8(vyy300, vyy40)
new_ltEs21(vyy251, vyy253, ty_Int) → new_ltEs16(vyy251, vyy253)
new_primMulNat0(Zero, Zero) → Zero
new_esEs7(vyy301, vyy41, app(app(ty_Either, chb), chc)) → new_esEs25(vyy301, vyy41, chb, chc)
new_primCompAux0(vyy300, vyy40, vyy191, baf) → new_primCompAux00(vyy191, new_compare32(vyy300, vyy40, baf))
new_ltEs12(LT, LT) → True
new_ltEs18(vyy2221, vyy2231, ty_Bool) → new_ltEs6(vyy2221, vyy2231)
new_esEs4(vyy301, vyy41, ty_Ordering) → new_esEs19(vyy301, vyy41)
new_esEs4(vyy301, vyy41, ty_Char) → new_esEs21(vyy301, vyy41)
new_ltEs19(vyy234, vyy235, ty_Double) → new_ltEs9(vyy234, vyy235)
new_lt22(vyy211, vyy214, app(ty_Maybe, bfh)) → new_lt14(vyy211, vyy214, bfh)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_ltEs21(vyy251, vyy253, app(ty_Maybe, beb)) → new_ltEs13(vyy251, vyy253, beb)
new_esEs34(vyy250, vyy252, app(ty_Ratio, dga)) → new_esEs22(vyy250, vyy252, dga)
new_ltEs13(Nothing, Just(vyy2230), deh) → True
new_esEs9(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs30(vyy3001, vyy401, ty_Char) → new_esEs21(vyy3001, vyy401)
new_lt5(vyy2220, vyy2230, ty_@0) → new_lt11(vyy2220, vyy2230)
new_esEs8(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_compare5(@3(vyy300, vyy301, vyy302), @3(vyy40, vyy41, vyy42), bef, beg, beh) → new_compare25(vyy300, vyy301, vyy302, vyy40, vyy41, vyy42, new_asAs(new_esEs8(vyy300, vyy40, bef), new_asAs(new_esEs7(vyy301, vyy41, beg), new_esEs6(vyy302, vyy42, beh))), bef, beg, beh)
new_ltEs20(vyy222, vyy223, app(ty_Maybe, deh)) → new_ltEs13(vyy222, vyy223, deh)
new_ltEs18(vyy2221, vyy2231, ty_Char) → new_ltEs17(vyy2221, vyy2231)
new_esEs26(vyy3001, vyy401, app(app(ty_Either, daf), dag)) → new_esEs25(vyy3001, vyy401, daf, dag)
new_esEs11(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_ltEs23(vyy241, vyy242, ty_Integer) → new_ltEs8(vyy241, vyy242)
new_ltEs23(vyy241, vyy242, ty_@0) → new_ltEs10(vyy241, vyy242)
new_esEs4(vyy301, vyy41, ty_Bool) → new_esEs24(vyy301, vyy41)
new_lt5(vyy2220, vyy2230, ty_Ordering) → new_lt13(vyy2220, vyy2230)
new_esEs7(vyy301, vyy41, app(app(app(ty_@3, cgf), cgg), cgh)) → new_esEs20(vyy301, vyy41, cgf, cgg, cgh)
new_esEs28(vyy2220, vyy2230, app(app(ty_Either, dc), dd)) → new_esEs25(vyy2220, vyy2230, dc, dd)
new_esEs4(vyy301, vyy41, app(ty_Ratio, egf)) → new_esEs22(vyy301, vyy41, egf)
new_esEs11(vyy300, vyy40, app(ty_[], eeg)) → new_esEs17(vyy300, vyy40, eeg)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(app(ty_@2, hd), he)) → new_ltEs5(vyy2220, vyy2230, hd, he)
new_compare18(@0, @0) → EQ
new_esEs37(vyy2220, vyy2230, app(app(app(ty_@3, ge), gf), gg)) → new_esEs20(vyy2220, vyy2230, ge, gf, gg)
new_esEs6(vyy302, vyy42, ty_Ordering) → new_esEs19(vyy302, vyy42)
new_esEs36(vyy2221, vyy2231, ty_Char) → new_esEs21(vyy2221, vyy2231)
new_esEs34(vyy250, vyy252, ty_@0) → new_esEs15(vyy250, vyy252)
new_lt20(vyy2221, vyy2231, ty_Integer) → new_lt9(vyy2221, vyy2231)
new_ltEs23(vyy241, vyy242, ty_Float) → new_ltEs11(vyy241, vyy242)
new_ltEs12(LT, EQ) → True
new_esEs6(vyy302, vyy42, app(ty_Maybe, dce)) → new_esEs18(vyy302, vyy42, dce)
new_ltEs23(vyy241, vyy242, app(app(ty_Either, cfh), cga)) → new_ltEs4(vyy241, vyy242, cfh, cga)
new_ltEs23(vyy241, vyy242, app(app(app(ty_@3, cfc), cfd), cfe)) → new_ltEs7(vyy241, vyy242, cfc, cfd, cfe)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Integer, ehd) → new_esEs16(vyy3000, vyy400)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(app(ty_Either, bac), bad)) → new_ltEs4(vyy2220, vyy2230, bac, bad)
new_compare0(:(vyy300, vyy301), :(vyy40, vyy41), baf) → new_primCompAux0(vyy300, vyy40, new_compare0(vyy301, vyy41, baf), baf)
new_esEs27(vyy3000, vyy400, app(ty_Maybe, dbc)) → new_esEs18(vyy3000, vyy400, dbc)
new_esEs39(vyy211, vyy214, app(ty_Maybe, bfh)) → new_esEs18(vyy211, vyy214, bfh)
new_esEs5(vyy300, vyy40, app(app(app(ty_@3, eab), eac), ead)) → new_esEs20(vyy300, vyy40, eab, eac, ead)
new_esEs8(vyy300, vyy40, app(app(ty_Either, ded), dee)) → new_esEs25(vyy300, vyy40, ded, dee)
new_esEs8(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Int, cbb) → new_ltEs16(vyy2220, vyy2230)
new_lt18(vyy250, vyy252, bdb, bdc) → new_esEs19(new_compare30(vyy250, vyy252, bdb, bdc), LT)
new_esEs30(vyy3001, vyy401, ty_Ordering) → new_esEs19(vyy3001, vyy401)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_lt22(vyy211, vyy214, app(app(app(ty_@3, bfe), bff), bfg)) → new_lt8(vyy211, vyy214, bfe, bff, bfg)
new_compare7(:%(vyy300, vyy301), :%(vyy40, vyy41), ty_Integer) → new_compare8(new_sr0(vyy300, vyy41), new_sr0(vyy40, vyy301))
new_esEs9(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Char) → new_esEs21(vyy3000, vyy400)
new_lt20(vyy2221, vyy2231, ty_Float) → new_lt12(vyy2221, vyy2231)
new_ltEs24(vyy213, vyy216, ty_Double) → new_ltEs9(vyy213, vyy216)
new_esEs35(vyy3000, vyy400, ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs37(vyy2220, vyy2230, ty_@0) → new_esEs15(vyy2220, vyy2230)
new_ltEs20(vyy222, vyy223, ty_Double) → new_ltEs9(vyy222, vyy223)
new_compare30(Right(vyy300), Left(vyy40), cdd, cde) → GT
new_esEs25(Left(vyy3000), Left(vyy400), app(ty_[], fba), ehd) → new_esEs17(vyy3000, vyy400, fba)
new_esEs9(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_esEs28(vyy2220, vyy2230, ty_Ordering) → new_esEs19(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Bool) → new_ltEs6(vyy2220, vyy2230)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_@0) → new_esEs15(vyy3000, vyy400)
new_esEs7(vyy301, vyy41, ty_Float) → new_esEs23(vyy301, vyy41)
new_esEs31(vyy3000, vyy400, ty_Char) → new_esEs21(vyy3000, vyy400)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs38(vyy212, vyy215, ty_Ordering) → new_esEs19(vyy212, vyy215)
new_ltEs19(vyy234, vyy235, app(app(ty_Either, cef), ceg)) → new_ltEs4(vyy234, vyy235, cef, ceg)
new_pePe(False, vyy328) → vyy328
new_esEs19(GT, GT) → True
new_lt5(vyy2220, vyy2230, ty_Char) → new_lt17(vyy2220, vyy2230)
new_esEs26(vyy3001, vyy401, app(ty_Maybe, daa)) → new_esEs18(vyy3001, vyy401, daa)
new_ltEs18(vyy2221, vyy2231, app(app(app(ty_@3, bc), bd), be)) → new_ltEs7(vyy2221, vyy2231, bc, bd, be)
new_esEs39(vyy211, vyy214, ty_@0) → new_esEs15(vyy211, vyy214)
new_esEs4(vyy301, vyy41, ty_Double) → new_esEs12(vyy301, vyy41)
new_esEs9(vyy300, vyy40, app(app(ty_@2, ehe), ehf)) → new_esEs14(vyy300, vyy40, ehe, ehf)
new_ltEs22(vyy2222, vyy2232, app(ty_Maybe, ed)) → new_ltEs13(vyy2222, vyy2232, ed)
new_lt19(vyy250, vyy252, ty_Double) → new_lt10(vyy250, vyy252)
new_ltEs22(vyy2222, vyy2232, ty_Ordering) → new_ltEs12(vyy2222, vyy2232)
new_ltEs20(vyy222, vyy223, ty_@0) → new_ltEs10(vyy222, vyy223)
new_esEs11(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_compare11(vyy300, vyy301, vyy302, vyy303, True, vyy305, dfg, dfh) → new_compare12(vyy300, vyy301, vyy302, vyy303, True, dfg, dfh)
new_lt19(vyy250, vyy252, app(ty_Ratio, dga)) → new_lt16(vyy250, vyy252, dga)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Char) → new_ltEs17(vyy2220, vyy2230)
new_esEs8(vyy300, vyy40, app(ty_Ratio, dec)) → new_esEs22(vyy300, vyy40, dec)
new_esEs6(vyy302, vyy42, ty_Int) → new_esEs13(vyy302, vyy42)
new_compare12(vyy300, vyy301, vyy302, vyy303, False, dfg, dfh) → GT
new_esEs6(vyy302, vyy42, ty_Double) → new_esEs12(vyy302, vyy42)
new_ltEs20(vyy222, vyy223, app(app(ty_Either, ccb), cbb)) → new_ltEs4(vyy222, vyy223, ccb, cbb)
new_lt22(vyy211, vyy214, app(app(ty_@2, bfa), bfb)) → new_lt6(vyy211, vyy214, bfa, bfb)
new_lt19(vyy250, vyy252, app(ty_Maybe, bch)) → new_lt14(vyy250, vyy252, bch)
new_esEs30(vyy3001, vyy401, app(ty_Maybe, ecb)) → new_esEs18(vyy3001, vyy401, ecb)
new_esEs24(False, True) → False
new_esEs24(True, False) → False
new_esEs28(vyy2220, vyy2230, ty_@0) → new_esEs15(vyy2220, vyy2230)
new_esEs38(vyy212, vyy215, app(app(ty_Either, cae), caf)) → new_esEs25(vyy212, vyy215, cae, caf)
new_esEs22(:%(vyy3000, vyy3001), :%(vyy400, vyy401), eec) → new_asAs(new_esEs33(vyy3000, vyy400, eec), new_esEs32(vyy3001, vyy401, eec))
new_esEs30(vyy3001, vyy401, ty_Integer) → new_esEs16(vyy3001, vyy401)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(ty_Maybe, cbf), cbb) → new_ltEs13(vyy2220, vyy2230, cbf)
new_esEs27(vyy3000, vyy400, app(ty_[], dbb)) → new_esEs17(vyy3000, vyy400, dbb)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, app(app(ty_Either, cdb), cdc)) → new_ltEs4(vyy2220, vyy2230, cdb, cdc)
new_ltEs18(vyy2221, vyy2231, ty_Int) → new_ltEs16(vyy2221, vyy2231)
new_compare13(vyy283, vyy284, False, fdd, fde) → GT
new_esEs35(vyy3000, vyy400, ty_Char) → new_esEs21(vyy3000, vyy400)
new_esEs26(vyy3001, vyy401, ty_Bool) → new_esEs24(vyy3001, vyy401)
new_esEs39(vyy211, vyy214, ty_Double) → new_esEs12(vyy211, vyy214)
new_esEs38(vyy212, vyy215, ty_Double) → new_esEs12(vyy212, vyy215)
new_esEs32(vyy3001, vyy401, ty_Integer) → new_esEs16(vyy3001, vyy401)
new_esEs31(vyy3000, vyy400, app(ty_Maybe, edd)) → new_esEs18(vyy3000, vyy400, edd)
new_ltEs4(Left(vyy2220), Right(vyy2230), ccb, cbb) → True
new_lt21(vyy2220, vyy2230, ty_Double) → new_lt10(vyy2220, vyy2230)
new_lt23(vyy212, vyy215, ty_Float) → new_lt12(vyy212, vyy215)
new_ltEs21(vyy251, vyy253, app(app(app(ty_@3, bdg), bdh), bea)) → new_ltEs7(vyy251, vyy253, bdg, bdh, bea)
new_esEs37(vyy2220, vyy2230, app(ty_Ratio, ffb)) → new_esEs22(vyy2220, vyy2230, ffb)
new_esEs18(Nothing, Nothing, ehb) → True
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, app(app(app(ty_@3, cce), ccf), ccg)) → new_ltEs7(vyy2220, vyy2230, cce, ccf, ccg)
new_esEs18(Just(vyy3000), Just(vyy400), app(app(ty_Either, fha), fhb)) → new_esEs25(vyy3000, vyy400, fha, fhb)
new_lt5(vyy2220, vyy2230, ty_Float) → new_lt12(vyy2220, vyy2230)
new_primCmpNat0(Zero, Succ(vyy400)) → LT
new_ltEs20(vyy222, vyy223, ty_Ordering) → new_ltEs12(vyy222, vyy223)
new_ltEs19(vyy234, vyy235, app(ty_Ratio, dgc)) → new_ltEs15(vyy234, vyy235, dgc)
new_esEs26(vyy3001, vyy401, app(app(ty_@2, chf), chg)) → new_esEs14(vyy3001, vyy401, chf, chg)
new_esEs26(vyy3001, vyy401, ty_Double) → new_esEs12(vyy3001, vyy401)
new_ltEs13(Nothing, Nothing, deh) → True
new_esEs37(vyy2220, vyy2230, app(ty_Maybe, gh)) → new_esEs18(vyy2220, vyy2230, gh)
new_ltEs19(vyy234, vyy235, ty_Bool) → new_ltEs6(vyy234, vyy235)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, app(ty_Ratio, fch)) → new_esEs22(vyy3000, vyy400, fch)
new_compare25(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, bgd, bfc, bfd) → new_compare110(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, new_lt22(vyy211, vyy214, bgd), new_asAs(new_esEs39(vyy211, vyy214, bgd), new_pePe(new_lt23(vyy212, vyy215, bfc), new_asAs(new_esEs38(vyy212, vyy215, bfc), new_ltEs24(vyy213, vyy216, bfd)))), bgd, bfc, bfd)
new_esEs8(vyy300, vyy40, app(app(app(ty_@3, ddh), dea), deb)) → new_esEs20(vyy300, vyy40, ddh, dea, deb)
new_esEs4(vyy301, vyy41, ty_Integer) → new_esEs16(vyy301, vyy41)
new_lt22(vyy211, vyy214, ty_Float) → new_lt12(vyy211, vyy214)
new_esEs5(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, app(ty_[], fcc)) → new_esEs17(vyy3000, vyy400, fcc)
new_lt6(vyy250, vyy252, bcb, bcc) → new_esEs19(new_compare31(vyy250, vyy252, bcb, bcc), LT)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_@0) → new_ltEs10(vyy2220, vyy2230)
new_esEs11(vyy300, vyy40, app(app(ty_Either, efe), eff)) → new_esEs25(vyy300, vyy40, efe, eff)
new_compare32(vyy300, vyy40, ty_Ordering) → new_compare19(vyy300, vyy40)
new_esEs9(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_lt4(vyy250, vyy252) → new_esEs19(new_compare6(vyy250, vyy252), LT)
new_esEs17(:(vyy3000, vyy3001), :(vyy400, vyy401), eha) → new_asAs(new_esEs35(vyy3000, vyy400, eha), new_esEs17(vyy3001, vyy401, eha))
new_esEs29(vyy3002, vyy402, ty_Ordering) → new_esEs19(vyy3002, vyy402)
new_esEs10(vyy300, vyy40, app(app(ty_@2, dgd), dge)) → new_esEs14(vyy300, vyy40, dgd, dge)
new_ltEs22(vyy2222, vyy2232, ty_Char) → new_ltEs17(vyy2222, vyy2232)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, app(ty_[], cda)) → new_ltEs14(vyy2220, vyy2230, cda)
new_esEs28(vyy2220, vyy2230, ty_Integer) → new_esEs16(vyy2220, vyy2230)
new_esEs20(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), eab, eac, ead) → new_asAs(new_esEs31(vyy3000, vyy400, eab), new_asAs(new_esEs30(vyy3001, vyy401, eac), new_esEs29(vyy3002, vyy402, ead)))
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_@0) → new_ltEs10(vyy2220, vyy2230)
new_pePe(True, vyy328) → True
new_compare0([], [], baf) → EQ
new_primEqNat0(Zero, Zero) → True
new_compare32(vyy300, vyy40, ty_Double) → new_compare17(vyy300, vyy40)
new_ltEs21(vyy251, vyy253, ty_@0) → new_ltEs10(vyy251, vyy253)
new_ltEs14(vyy222, vyy223, bae) → new_fsEs(new_compare0(vyy222, vyy223, bae))
new_ltEs4(Left(vyy2220), Left(vyy2230), app(ty_[], cbg), cbb) → new_ltEs14(vyy2220, vyy2230, cbg)
new_lt23(vyy212, vyy215, app(ty_Ratio, ffg)) → new_lt16(vyy212, vyy215, ffg)
new_compare31(@2(vyy300, vyy301), @2(vyy40, vyy41), bbh, bca) → new_compare29(vyy300, vyy301, vyy40, vyy41, new_asAs(new_esEs5(vyy300, vyy40, bbh), new_esEs4(vyy301, vyy41, bca)), bbh, bca)
new_primMulNat0(Succ(vyy30000), Succ(vyy4000)) → new_primPlusNat1(new_primMulNat0(vyy30000, Succ(vyy4000)), vyy4000)
new_esEs24(False, False) → True
new_lt22(vyy211, vyy214, ty_Double) → new_lt10(vyy211, vyy214)
new_esEs11(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_esEs27(vyy3000, vyy400, ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs11(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_compare110(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, True, vyy322, dfb, dfc, dfd) → new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, True, dfb, dfc, dfd)
new_esEs7(vyy301, vyy41, ty_Bool) → new_esEs24(vyy301, vyy41)
new_compare33(False, False) → EQ
new_esEs25(Left(vyy3000), Left(vyy400), app(ty_Ratio, fbf), ehd) → new_esEs22(vyy3000, vyy400, fbf)
new_lt20(vyy2221, vyy2231, ty_Bool) → new_lt7(vyy2221, vyy2231)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Bool) → new_ltEs6(vyy2220, vyy2230)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Char) → new_ltEs17(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Double) → new_ltEs9(vyy2220, vyy2230)
new_lt21(vyy2220, vyy2230, ty_Bool) → new_lt7(vyy2220, vyy2230)
new_lt11(vyy250, vyy252) → new_esEs19(new_compare18(vyy250, vyy252), LT)
new_esEs35(vyy3000, vyy400, app(app(ty_Either, fef), feg)) → new_esEs25(vyy3000, vyy400, fef, feg)
new_esEs29(vyy3002, vyy402, ty_Int) → new_esEs13(vyy3002, vyy402)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Double) → new_ltEs9(vyy2220, vyy2230)
new_sr(vyy300, vyy40) → new_primMulInt(vyy300, vyy40)
new_esEs29(vyy3002, vyy402, ty_Float) → new_esEs23(vyy3002, vyy402)
new_esEs26(vyy3001, vyy401, ty_Ordering) → new_esEs19(vyy3001, vyy401)
new_esEs29(vyy3002, vyy402, app(app(ty_Either, ebe), ebf)) → new_esEs25(vyy3002, vyy402, ebe, ebf)
new_esEs5(vyy300, vyy40, app(ty_Ratio, eec)) → new_esEs22(vyy300, vyy40, eec)
new_compare14(Just(vyy300), Nothing, cag) → GT
new_esEs5(vyy300, vyy40, app(app(ty_@2, chd), che)) → new_esEs14(vyy300, vyy40, chd, che)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Ordering) → new_ltEs12(vyy2220, vyy2230)
new_compare11(vyy300, vyy301, vyy302, vyy303, False, vyy305, dfg, dfh) → new_compare12(vyy300, vyy301, vyy302, vyy303, vyy305, dfg, dfh)
new_esEs38(vyy212, vyy215, app(ty_[], cad)) → new_esEs17(vyy212, vyy215, cad)
new_esEs13(vyy300, vyy40) → new_primEqInt(vyy300, vyy40)
new_lt13(vyy250, vyy252) → new_esEs19(new_compare19(vyy250, vyy252), LT)
new_lt22(vyy211, vyy214, ty_@0) → new_lt11(vyy211, vyy214)
new_esEs10(vyy300, vyy40, app(app(app(ty_@3, dgh), dha), dhb)) → new_esEs20(vyy300, vyy40, dgh, dha, dhb)
new_ltEs23(vyy241, vyy242, ty_Ordering) → new_ltEs12(vyy241, vyy242)
new_esEs11(vyy300, vyy40, app(ty_Maybe, eeh)) → new_esEs18(vyy300, vyy40, eeh)
new_ltEs22(vyy2222, vyy2232, ty_Double) → new_ltEs9(vyy2222, vyy2232)
new_ltEs22(vyy2222, vyy2232, ty_@0) → new_ltEs10(vyy2222, vyy2232)
new_lt20(vyy2221, vyy2231, ty_Char) → new_lt17(vyy2221, vyy2231)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs29(vyy3002, vyy402, app(app(app(ty_@3, eba), ebb), ebc)) → new_esEs20(vyy3002, vyy402, eba, ebb, ebc)
new_esEs6(vyy302, vyy42, app(ty_[], dcd)) → new_esEs17(vyy302, vyy42, dcd)
new_esEs21(Char(vyy3000), Char(vyy400)) → new_primEqNat0(vyy3000, vyy400)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_@0, cbb) → new_ltEs10(vyy2220, vyy2230)
new_compare33(False, True) → LT
new_compare19(EQ, GT) → LT
new_esEs27(vyy3000, vyy400, app(app(ty_@2, dah), dba)) → new_esEs14(vyy3000, vyy400, dah, dba)
new_ltEs20(vyy222, vyy223, ty_Int) → new_ltEs16(vyy222, vyy223)
new_lt5(vyy2220, vyy2230, app(ty_Ratio, dff)) → new_lt16(vyy2220, vyy2230, dff)
new_primEqInt(Neg(Succ(vyy30000)), Neg(Succ(vyy4000))) → new_primEqNat0(vyy30000, vyy4000)
new_esEs10(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_ltEs19(vyy234, vyy235, ty_Integer) → new_ltEs8(vyy234, vyy235)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Float, ehd) → new_esEs23(vyy3000, vyy400)
new_compare13(vyy283, vyy284, True, fdd, fde) → LT
new_esEs5(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_lt21(vyy2220, vyy2230, ty_Integer) → new_lt9(vyy2220, vyy2230)
new_compare16(vyy273, vyy274, True, fdc) → LT
new_esEs9(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs19(EQ, EQ) → True
new_esEs14(@2(vyy3000, vyy3001), @2(vyy400, vyy401), chd, che) → new_asAs(new_esEs27(vyy3000, vyy400, chd), new_esEs26(vyy3001, vyy401, che))
new_lt19(vyy250, vyy252, ty_Bool) → new_lt7(vyy250, vyy252)
new_esEs29(vyy3002, vyy402, app(ty_Maybe, eah)) → new_esEs18(vyy3002, vyy402, eah)
new_esEs5(vyy300, vyy40, app(ty_Maybe, ehb)) → new_esEs18(vyy300, vyy40, ehb)
new_esEs25(Left(vyy3000), Left(vyy400), app(ty_Maybe, fbb), ehd) → new_esEs18(vyy3000, vyy400, fbb)
new_esEs8(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Bool, ehd) → new_esEs24(vyy3000, vyy400)
new_esEs29(vyy3002, vyy402, ty_Bool) → new_esEs24(vyy3002, vyy402)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Float) → new_ltEs11(vyy2220, vyy2230)
new_ltEs23(vyy241, vyy242, app(app(ty_@2, cfa), cfb)) → new_ltEs5(vyy241, vyy242, cfa, cfb)
new_esEs29(vyy3002, vyy402, app(app(ty_@2, eae), eaf)) → new_esEs14(vyy3002, vyy402, eae, eaf)
new_esEs7(vyy301, vyy41, ty_Integer) → new_esEs16(vyy301, vyy41)
new_lt20(vyy2221, vyy2231, ty_Int) → new_lt4(vyy2221, vyy2231)
new_lt21(vyy2220, vyy2230, app(ty_[], ha)) → new_lt15(vyy2220, vyy2230, ha)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Double, cbb) → new_ltEs9(vyy2220, vyy2230)
new_lt22(vyy211, vyy214, ty_Ordering) → new_lt13(vyy211, vyy214)
new_lt23(vyy212, vyy215, ty_Bool) → new_lt7(vyy212, vyy215)
new_lt23(vyy212, vyy215, ty_Char) → new_lt17(vyy212, vyy215)
new_esEs5(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_ltEs7(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), de, df, fb) → new_pePe(new_lt21(vyy2220, vyy2230, de), new_asAs(new_esEs37(vyy2220, vyy2230, de), new_pePe(new_lt20(vyy2221, vyy2231, df), new_asAs(new_esEs36(vyy2221, vyy2231, df), new_ltEs22(vyy2222, vyy2232, fb)))))
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs30(vyy3001, vyy401, app(ty_Ratio, ecf)) → new_esEs22(vyy3001, vyy401, ecf)
new_ltEs12(EQ, EQ) → True
new_compare12(vyy300, vyy301, vyy302, vyy303, True, dfg, dfh) → LT
new_esEs35(vyy3000, vyy400, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_lt21(vyy2220, vyy2230, app(ty_Ratio, ffb)) → new_lt16(vyy2220, vyy2230, ffb)
new_esEs35(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_lt5(vyy2220, vyy2230, ty_Int) → new_lt4(vyy2220, vyy2230)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(app(ty_Either, cbh), cca), cbb) → new_ltEs4(vyy2220, vyy2230, cbh, cca)
new_esEs26(vyy3001, vyy401, ty_Float) → new_esEs23(vyy3001, vyy401)
new_primEqInt(Neg(Succ(vyy30000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vyy4000))) → False
new_ltEs9(vyy222, vyy223) → new_fsEs(new_compare17(vyy222, vyy223))
new_ltEs21(vyy251, vyy253, app(ty_[], bec)) → new_ltEs14(vyy251, vyy253, bec)
new_compare19(EQ, LT) → GT
new_compare26(vyy234, vyy235, True, dgb, cdh) → EQ
new_primPlusNat1(Zero, vyy4000) → Succ(vyy4000)
new_lt5(vyy2220, vyy2230, app(app(app(ty_@3, ce), cf), cg)) → new_lt8(vyy2220, vyy2230, ce, cf, cg)
new_esEs37(vyy2220, vyy2230, ty_Bool) → new_esEs24(vyy2220, vyy2230)
new_lt20(vyy2221, vyy2231, ty_Ordering) → new_lt13(vyy2221, vyy2231)
new_lt21(vyy2220, vyy2230, ty_@0) → new_lt11(vyy2220, vyy2230)
new_fsEs(vyy329) → new_not(new_esEs19(vyy329, GT))
new_esEs27(vyy3000, vyy400, app(app(app(ty_@3, dbd), dbe), dbf)) → new_esEs20(vyy3000, vyy400, dbd, dbe, dbf)
new_esEs7(vyy301, vyy41, ty_Ordering) → new_esEs19(vyy301, vyy41)
new_ltEs21(vyy251, vyy253, app(app(ty_@2, bde), bdf)) → new_ltEs5(vyy251, vyy253, bde, bdf)
new_esEs28(vyy2220, vyy2230, ty_Int) → new_esEs13(vyy2220, vyy2230)
new_lt10(vyy250, vyy252) → new_esEs19(new_compare17(vyy250, vyy252), LT)
new_ltEs24(vyy213, vyy216, ty_Int) → new_ltEs16(vyy213, vyy216)
new_ltEs19(vyy234, vyy235, ty_Char) → new_ltEs17(vyy234, vyy235)
new_ltEs21(vyy251, vyy253, app(app(ty_Either, bed), bee)) → new_ltEs4(vyy251, vyy253, bed, bee)
new_esEs10(vyy300, vyy40, app(app(ty_Either, dhd), dhe)) → new_esEs25(vyy300, vyy40, dhd, dhe)
new_esEs34(vyy250, vyy252, ty_Char) → new_esEs21(vyy250, vyy252)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Int, ehd) → new_esEs13(vyy3000, vyy400)
new_esEs35(vyy3000, vyy400, app(ty_[], fdh)) → new_esEs17(vyy3000, vyy400, fdh)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs34(vyy250, vyy252, app(app(ty_Either, bdb), bdc)) → new_esEs25(vyy250, vyy252, bdb, bdc)
new_ltEs21(vyy251, vyy253, ty_Ordering) → new_ltEs12(vyy251, vyy253)
new_ltEs23(vyy241, vyy242, app(ty_Ratio, ffd)) → new_ltEs15(vyy241, vyy242, ffd)
new_ltEs20(vyy222, vyy223, app(app(ty_@2, h), cd)) → new_ltEs5(vyy222, vyy223, h, cd)
new_compare32(vyy300, vyy40, app(ty_[], bbe)) → new_compare0(vyy300, vyy40, bbe)
new_compare6(vyy30, vyy4) → new_primCmpInt(vyy30, vyy4)
new_esEs10(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_lt5(vyy2220, vyy2230, app(app(ty_@2, cb), cc)) → new_lt6(vyy2220, vyy2230, cb, cc)
new_primCmpNat0(Succ(vyy3000), Succ(vyy400)) → new_primCmpNat0(vyy3000, vyy400)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Integer) → new_ltEs8(vyy2220, vyy2230)
new_lt16(vyy250, vyy252, dga) → new_esEs19(new_compare7(vyy250, vyy252, dga), LT)
new_esEs30(vyy3001, vyy401, ty_@0) → new_esEs15(vyy3001, vyy401)
new_esEs26(vyy3001, vyy401, ty_Integer) → new_esEs16(vyy3001, vyy401)
new_lt21(vyy2220, vyy2230, app(app(app(ty_@3, ge), gf), gg)) → new_lt8(vyy2220, vyy2230, ge, gf, gg)
new_lt5(vyy2220, vyy2230, app(ty_Maybe, da)) → new_lt14(vyy2220, vyy2230, da)
new_esEs34(vyy250, vyy252, ty_Double) → new_esEs12(vyy250, vyy252)
new_primEqInt(Pos(Succ(vyy30000)), Pos(Succ(vyy4000))) → new_primEqNat0(vyy30000, vyy4000)
new_ltEs19(vyy234, vyy235, app(app(app(ty_@3, cea), ceb), cec)) → new_ltEs7(vyy234, vyy235, cea, ceb, cec)
new_esEs27(vyy3000, vyy400, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_ltEs18(vyy2221, vyy2231, ty_@0) → new_ltEs10(vyy2221, vyy2231)
new_esEs36(vyy2221, vyy2231, ty_Float) → new_esEs23(vyy2221, vyy2231)
new_ltEs6(False, True) → True
new_esEs35(vyy3000, vyy400, app(ty_Maybe, fea)) → new_esEs18(vyy3000, vyy400, fea)
new_ltEs21(vyy251, vyy253, ty_Float) → new_ltEs11(vyy251, vyy253)
new_esEs37(vyy2220, vyy2230, app(app(ty_Either, hb), hc)) → new_esEs25(vyy2220, vyy2230, hb, hc)
new_esEs25(Left(vyy3000), Left(vyy400), app(app(app(ty_@3, fbc), fbd), fbe), ehd) → new_esEs20(vyy3000, vyy400, fbc, fbd, fbe)
new_lt23(vyy212, vyy215, ty_Ordering) → new_lt13(vyy212, vyy215)
new_ltEs24(vyy213, vyy216, ty_Float) → new_ltEs11(vyy213, vyy216)
new_ltEs20(vyy222, vyy223, app(app(app(ty_@3, de), df), fb)) → new_ltEs7(vyy222, vyy223, de, df, fb)
new_esEs26(vyy3001, vyy401, ty_Int) → new_esEs13(vyy3001, vyy401)
new_primEqNat0(Succ(vyy30000), Succ(vyy4000)) → new_primEqNat0(vyy30000, vyy4000)
new_ltEs6(True, True) → True
new_lt22(vyy211, vyy214, ty_Bool) → new_lt7(vyy211, vyy214)
new_esEs34(vyy250, vyy252, app(app(ty_@2, bcb), bcc)) → new_esEs14(vyy250, vyy252, bcb, bcc)
new_esEs18(Just(vyy3000), Just(vyy400), app(ty_[], fgc)) → new_esEs17(vyy3000, vyy400, fgc)
new_compare32(vyy300, vyy40, ty_Float) → new_compare28(vyy300, vyy40)
new_esEs38(vyy212, vyy215, app(app(ty_@2, bhf), bhg)) → new_esEs14(vyy212, vyy215, bhf, bhg)
new_ltEs19(vyy234, vyy235, app(ty_[], cee)) → new_ltEs14(vyy234, vyy235, cee)
new_lt19(vyy250, vyy252, app(app(ty_@2, bcb), bcc)) → new_lt6(vyy250, vyy252, bcb, bcc)
new_primCompAux00(vyy228, LT) → LT
new_esEs9(vyy300, vyy40, app(ty_Maybe, ehh)) → new_esEs18(vyy300, vyy40, ehh)
new_ltEs18(vyy2221, vyy2231, app(ty_[], bg)) → new_ltEs14(vyy2221, vyy2231, bg)
new_primCmpInt(Neg(Succ(vyy3000)), Neg(vyy40)) → new_primCmpNat0(vyy40, Succ(vyy3000))
new_ltEs18(vyy2221, vyy2231, app(app(ty_@2, ba), bb)) → new_ltEs5(vyy2221, vyy2231, ba, bb)
new_compare16(vyy273, vyy274, False, fdc) → GT
new_esEs37(vyy2220, vyy2230, ty_Integer) → new_esEs16(vyy2220, vyy2230)
new_lt15(vyy250, vyy252, bda) → new_esEs19(new_compare0(vyy250, vyy252, bda), LT)
new_esEs4(vyy301, vyy41, app(app(ty_@2, efg), efh)) → new_esEs14(vyy301, vyy41, efg, efh)
new_esEs18(Just(vyy3000), Just(vyy400), app(ty_Maybe, fgd)) → new_esEs18(vyy3000, vyy400, fgd)
new_primEqInt(Pos(Succ(vyy30000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyy4000))) → False
new_esEs36(vyy2221, vyy2231, ty_Bool) → new_esEs24(vyy2221, vyy2231)
new_esEs39(vyy211, vyy214, ty_Int) → new_esEs13(vyy211, vyy214)
new_esEs26(vyy3001, vyy401, ty_Char) → new_esEs21(vyy3001, vyy401)
new_primPlusNat0(Zero, Succ(vyy40000)) → Succ(vyy40000)
new_primPlusNat0(Succ(vyy33000), Zero) → Succ(vyy33000)
new_ltEs18(vyy2221, vyy2231, ty_Float) → new_ltEs11(vyy2221, vyy2231)
new_esEs5(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_compare25(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, True, bgd, bfc, bfd) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_esEs38(vyy212, vyy215, ty_Bool) → new_esEs24(vyy212, vyy215)
new_esEs28(vyy2220, vyy2230, ty_Bool) → new_esEs24(vyy2220, vyy2230)
new_primCmpNat0(Succ(vyy3000), Zero) → GT
new_esEs38(vyy212, vyy215, ty_@0) → new_esEs15(vyy212, vyy215)
new_lt5(vyy2220, vyy2230, ty_Double) → new_lt10(vyy2220, vyy2230)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Ordering, ehd) → new_esEs19(vyy3000, vyy400)
new_primCmpInt(Neg(Zero), Pos(Succ(vyy400))) → LT
new_esEs34(vyy250, vyy252, ty_Integer) → new_esEs16(vyy250, vyy252)
new_esEs4(vyy301, vyy41, ty_Float) → new_esEs23(vyy301, vyy41)
new_esEs5(vyy300, vyy40, app(app(ty_Either, ehc), ehd)) → new_esEs25(vyy300, vyy40, ehc, ehd)
new_ltEs15(vyy222, vyy223, eaa) → new_fsEs(new_compare7(vyy222, vyy223, eaa))
new_esEs10(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_compare33(True, False) → GT
new_esEs28(vyy2220, vyy2230, ty_Double) → new_esEs12(vyy2220, vyy2230)
new_sr0(Integer(vyy3000), Integer(vyy410)) → Integer(new_primMulInt(vyy3000, vyy410))
new_esEs28(vyy2220, vyy2230, app(ty_Ratio, dff)) → new_esEs22(vyy2220, vyy2230, dff)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(ty_Ratio, def), cbb) → new_ltEs15(vyy2220, vyy2230, def)
new_esEs39(vyy211, vyy214, ty_Bool) → new_esEs24(vyy211, vyy214)
new_ltEs20(vyy222, vyy223, app(ty_[], bae)) → new_ltEs14(vyy222, vyy223, bae)
new_primEqInt(Pos(Succ(vyy30000)), Neg(vyy400)) → False
new_primEqInt(Neg(Succ(vyy30000)), Pos(vyy400)) → False
new_ltEs18(vyy2221, vyy2231, app(app(ty_Either, bh), ca)) → new_ltEs4(vyy2221, vyy2231, bh, ca)
new_lt14(vyy250, vyy252, bch) → new_esEs19(new_compare14(vyy250, vyy252, bch), LT)
new_lt22(vyy211, vyy214, app(ty_[], bga)) → new_lt15(vyy211, vyy214, bga)
new_ltEs12(GT, EQ) → False
new_esEs11(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_ltEs11(vyy222, vyy223) → new_fsEs(new_compare28(vyy222, vyy223))
new_esEs30(vyy3001, vyy401, ty_Bool) → new_esEs24(vyy3001, vyy401)
new_esEs27(vyy3000, vyy400, ty_Double) → new_esEs12(vyy3000, vyy400)
new_ltEs24(vyy213, vyy216, app(app(app(ty_@3, bgg), bgh), bha)) → new_ltEs7(vyy213, vyy216, bgg, bgh, bha)
new_compare30(Right(vyy300), Right(vyy40), cdd, cde) → new_compare210(vyy300, vyy40, new_esEs11(vyy300, vyy40, cde), cdd, cde)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Float) → new_esEs23(vyy3000, vyy400)
new_compare30(Left(vyy300), Right(vyy40), cdd, cde) → LT
new_primEqInt(Pos(Zero), Neg(Succ(vyy4000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vyy4000))) → False
new_esEs26(vyy3001, vyy401, app(ty_[], chh)) → new_esEs17(vyy3001, vyy401, chh)
new_esEs31(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_primCmpInt(Pos(Zero), Pos(Succ(vyy400))) → new_primCmpNat0(Zero, Succ(vyy400))
new_esEs25(Left(vyy3000), Left(vyy400), ty_@0, ehd) → new_esEs15(vyy3000, vyy400)
new_primCompAux00(vyy228, EQ) → vyy228
new_esEs8(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_esEs27(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_lt21(vyy2220, vyy2230, ty_Char) → new_lt17(vyy2220, vyy2230)
new_lt19(vyy250, vyy252, ty_@0) → new_lt11(vyy250, vyy252)
new_esEs6(vyy302, vyy42, app(app(ty_Either, ddb), ddc)) → new_esEs25(vyy302, vyy42, ddb, ddc)
new_esEs6(vyy302, vyy42, app(ty_Ratio, dda)) → new_esEs22(vyy302, vyy42, dda)
new_esEs4(vyy301, vyy41, app(app(ty_Either, egg), egh)) → new_esEs25(vyy301, vyy41, egg, egh)
new_esEs25(Left(vyy3000), Right(vyy400), ehc, ehd) → False
new_esEs25(Right(vyy3000), Left(vyy400), ehc, ehd) → False
new_compare19(GT, GT) → EQ
new_esEs29(vyy3002, vyy402, ty_Double) → new_esEs12(vyy3002, vyy402)
new_ltEs16(vyy222, vyy223) → new_fsEs(new_compare6(vyy222, vyy223))
new_esEs31(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs6(vyy302, vyy42, ty_Float) → new_esEs23(vyy302, vyy42)
new_esEs4(vyy301, vyy41, app(ty_[], ega)) → new_esEs17(vyy301, vyy41, ega)
new_esEs28(vyy2220, vyy2230, app(app(ty_@2, cb), cc)) → new_esEs14(vyy2220, vyy2230, cb, cc)
new_ltEs23(vyy241, vyy242, ty_Int) → new_ltEs16(vyy241, vyy242)
new_lt23(vyy212, vyy215, ty_Integer) → new_lt9(vyy212, vyy215)
new_esEs38(vyy212, vyy215, app(app(app(ty_@3, bhh), caa), cab)) → new_esEs20(vyy212, vyy215, bhh, caa, cab)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, app(ty_Maybe, cch)) → new_ltEs13(vyy2220, vyy2230, cch)
new_esEs11(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_not(False) → True
new_ltEs22(vyy2222, vyy2232, ty_Int) → new_ltEs16(vyy2222, vyy2232)
new_ltEs4(Right(vyy2220), Left(vyy2230), ccb, cbb) → False
new_esEs6(vyy302, vyy42, app(app(ty_@2, dcb), dcc)) → new_esEs14(vyy302, vyy42, dcb, dcc)
new_esEs30(vyy3001, vyy401, app(app(app(ty_@3, ecc), ecd), ece)) → new_esEs20(vyy3001, vyy401, ecc, ecd, ece)
new_esEs30(vyy3001, vyy401, ty_Double) → new_esEs12(vyy3001, vyy401)
new_ltEs22(vyy2222, vyy2232, app(app(ty_Either, ef), eg)) → new_ltEs4(vyy2222, vyy2232, ef, eg)
new_primCmpInt(Pos(Succ(vyy3000)), Pos(vyy40)) → new_primCmpNat0(Succ(vyy3000), vyy40)
new_compare210(vyy241, vyy242, True, ceh, ffc) → EQ
new_lt7(vyy250, vyy252) → new_esEs19(new_compare33(vyy250, vyy252), LT)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs8(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_esEs18(Just(vyy3000), Just(vyy400), ty_@0) → new_esEs15(vyy3000, vyy400)
new_esEs29(vyy3002, vyy402, app(ty_[], eag)) → new_esEs17(vyy3002, vyy402, eag)
new_compare29(vyy250, vyy251, vyy252, vyy253, True, bdd, bcd) → EQ
new_esEs35(vyy3000, vyy400, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_ltEs23(vyy241, vyy242, app(ty_[], cfg)) → new_ltEs14(vyy241, vyy242, cfg)
new_esEs39(vyy211, vyy214, ty_Char) → new_esEs21(vyy211, vyy214)
new_esEs31(vyy3000, vyy400, ty_@0) → new_esEs15(vyy3000, vyy400)
new_lt5(vyy2220, vyy2230, ty_Bool) → new_lt7(vyy2220, vyy2230)
new_esEs30(vyy3001, vyy401, app(app(ty_@2, ebg), ebh)) → new_esEs14(vyy3001, vyy401, ebg, ebh)
new_ltEs24(vyy213, vyy216, ty_Integer) → new_ltEs8(vyy213, vyy216)
new_esEs7(vyy301, vyy41, app(ty_[], cgd)) → new_esEs17(vyy301, vyy41, cgd)
new_esEs11(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_compare0(:(vyy300, vyy301), [], baf) → GT
new_ltEs22(vyy2222, vyy2232, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs7(vyy2222, vyy2232, ea, eb, ec)
new_esEs6(vyy302, vyy42, ty_Char) → new_esEs21(vyy302, vyy42)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs11(vyy300, vyy40, app(ty_Ratio, efd)) → new_esEs22(vyy300, vyy40, efd)
new_compare32(vyy300, vyy40, ty_Bool) → new_compare33(vyy300, vyy40)
new_esEs33(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_esEs18(Just(vyy3000), Just(vyy400), app(app(app(ty_@3, fge), fgf), fgg)) → new_esEs20(vyy3000, vyy400, fge, fgf, fgg)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Integer) → new_esEs16(vyy3000, vyy400)
new_esEs30(vyy3001, vyy401, app(ty_[], eca)) → new_esEs17(vyy3001, vyy401, eca)
new_lt23(vyy212, vyy215, ty_Int) → new_lt4(vyy212, vyy215)
new_primCmpInt(Pos(Succ(vyy3000)), Neg(vyy40)) → GT
new_lt23(vyy212, vyy215, ty_@0) → new_lt11(vyy212, vyy215)
new_esEs27(vyy3000, vyy400, ty_@0) → new_esEs15(vyy3000, vyy400)
new_ltEs22(vyy2222, vyy2232, app(ty_[], ee)) → new_ltEs14(vyy2222, vyy2232, ee)
new_lt19(vyy250, vyy252, ty_Char) → new_lt17(vyy250, vyy252)
new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, False, dfb, dfc, dfd) → GT
new_lt19(vyy250, vyy252, app(ty_[], bda)) → new_lt15(vyy250, vyy252, bda)
new_primMulInt(Pos(vyy3000), Pos(vyy400)) → Pos(new_primMulNat0(vyy3000, vyy400))
new_esEs34(vyy250, vyy252, ty_Float) → new_esEs23(vyy250, vyy252)
new_ltEs24(vyy213, vyy216, ty_Bool) → new_ltEs6(vyy213, vyy216)
new_primMulInt(Neg(vyy3000), Neg(vyy400)) → Pos(new_primMulNat0(vyy3000, vyy400))
new_esEs36(vyy2221, vyy2231, app(app(ty_Either, ga), gb)) → new_esEs25(vyy2221, vyy2231, ga, gb)
new_ltEs12(EQ, GT) → True
new_esEs38(vyy212, vyy215, ty_Char) → new_esEs21(vyy212, vyy215)
new_esEs12(Double(vyy3000, vyy3001), Double(vyy400, vyy401)) → new_esEs13(new_sr(vyy3000, vyy400), new_sr(vyy3001, vyy401))
new_primEqNat0(Succ(vyy30000), Zero) → False
new_primEqNat0(Zero, Succ(vyy4000)) → False
new_lt5(vyy2220, vyy2230, app(ty_[], db)) → new_lt15(vyy2220, vyy2230, db)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, app(app(app(ty_@3, fce), fcf), fcg)) → new_esEs20(vyy3000, vyy400, fce, fcf, fcg)
new_primPlusNat0(Zero, Zero) → Zero
new_compare30(Left(vyy300), Left(vyy40), cdd, cde) → new_compare26(vyy300, vyy40, new_esEs10(vyy300, vyy40, cdd), cdd, cde)
new_lt20(vyy2221, vyy2231, app(app(ty_Either, ga), gb)) → new_lt18(vyy2221, vyy2231, ga, gb)
new_esEs7(vyy301, vyy41, ty_@0) → new_esEs15(vyy301, vyy41)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs35(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_esEs9(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_esEs37(vyy2220, vyy2230, ty_Float) → new_esEs23(vyy2220, vyy2230)
new_esEs8(vyy300, vyy40, app(ty_Maybe, ddg)) → new_esEs18(vyy300, vyy40, ddg)
new_esEs11(vyy300, vyy40, app(app(app(ty_@3, efa), efb), efc)) → new_esEs20(vyy300, vyy40, efa, efb, efc)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Double, ehd) → new_esEs12(vyy3000, vyy400)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Bool, cbb) → new_ltEs6(vyy2220, vyy2230)
new_lt21(vyy2220, vyy2230, app(ty_Maybe, gh)) → new_lt14(vyy2220, vyy2230, gh)
new_esEs8(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_esEs27(vyy3000, vyy400, app(ty_Ratio, dbg)) → new_esEs22(vyy3000, vyy400, dbg)
new_esEs27(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_esEs9(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_esEs9(vyy300, vyy40, app(app(ty_Either, fae), faf)) → new_esEs25(vyy300, vyy40, fae, faf)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(app(app(ty_@3, cbc), cbd), cbe), cbb) → new_ltEs7(vyy2220, vyy2230, cbc, cbd, cbe)
new_primPlusNat1(Succ(vyy3300), vyy4000) → Succ(Succ(new_primPlusNat0(vyy3300, vyy4000)))
new_ltEs8(vyy222, vyy223) → new_fsEs(new_compare8(vyy222, vyy223))
new_lt22(vyy211, vyy214, app(ty_Ratio, ffe)) → new_lt16(vyy211, vyy214, ffe)
new_esEs4(vyy301, vyy41, ty_Int) → new_esEs13(vyy301, vyy41)
new_ltEs24(vyy213, vyy216, app(ty_Maybe, bhb)) → new_ltEs13(vyy213, vyy216, bhb)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, app(ty_Ratio, deg)) → new_ltEs15(vyy2220, vyy2230, deg)
new_esEs35(vyy3000, vyy400, ty_@0) → new_esEs15(vyy3000, vyy400)
new_primCmpInt(Neg(Zero), Neg(Succ(vyy400))) → new_primCmpNat0(Succ(vyy400), Zero)
new_compare19(LT, GT) → LT
new_primCmpInt(Pos(Zero), Neg(Succ(vyy400))) → GT
new_esEs29(vyy3002, vyy402, ty_@0) → new_esEs15(vyy3002, vyy402)
new_esEs39(vyy211, vyy214, app(app(ty_@2, bfa), bfb)) → new_esEs14(vyy211, vyy214, bfa, bfb)
new_esEs25(Left(vyy3000), Left(vyy400), app(app(ty_@2, fag), fah), ehd) → new_esEs14(vyy3000, vyy400, fag, fah)
new_esEs39(vyy211, vyy214, app(app(app(ty_@3, bfe), bff), bfg)) → new_esEs20(vyy211, vyy214, bfe, bff, bfg)
new_compare15(vyy290, vyy291, False, dhf, dhg) → GT
new_lt20(vyy2221, vyy2231, app(app(ty_@2, eh), fa)) → new_lt6(vyy2221, vyy2231, eh, fa)
new_esEs19(LT, LT) → True
new_lt5(vyy2220, vyy2230, ty_Integer) → new_lt9(vyy2220, vyy2230)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(ty_Ratio, dfa)) → new_ltEs15(vyy2220, vyy2230, dfa)
new_lt9(vyy250, vyy252) → new_esEs19(new_compare8(vyy250, vyy252), LT)
new_ltEs22(vyy2222, vyy2232, app(ty_Ratio, feh)) → new_ltEs15(vyy2222, vyy2232, feh)
new_esEs31(vyy3000, vyy400, ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs34(vyy250, vyy252, ty_Bool) → new_esEs24(vyy250, vyy252)
new_esEs16(Integer(vyy3000), Integer(vyy400)) → new_primEqInt(vyy3000, vyy400)
new_esEs10(vyy300, vyy40, app(ty_Ratio, dhc)) → new_esEs22(vyy300, vyy40, dhc)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_ltEs21(vyy251, vyy253, ty_Integer) → new_ltEs8(vyy251, vyy253)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(ty_Maybe, baa)) → new_ltEs13(vyy2220, vyy2230, baa)
new_compare14(Nothing, Nothing, cag) → EQ
new_lt23(vyy212, vyy215, app(app(ty_@2, bhf), bhg)) → new_lt6(vyy212, vyy215, bhf, bhg)
new_ltEs24(vyy213, vyy216, ty_Char) → new_ltEs17(vyy213, vyy216)
new_ltEs5(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), h, cd) → new_pePe(new_lt5(vyy2220, vyy2230, h), new_asAs(new_esEs28(vyy2220, vyy2230, h), new_ltEs18(vyy2221, vyy2231, cd)))
new_esEs37(vyy2220, vyy2230, app(app(ty_@2, gc), gd)) → new_esEs14(vyy2220, vyy2230, gc, gd)
new_ltEs24(vyy213, vyy216, app(ty_Ratio, fff)) → new_ltEs15(vyy213, vyy216, fff)
new_esEs35(vyy3000, vyy400, ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs36(vyy2221, vyy2231, ty_Double) → new_esEs12(vyy2221, vyy2231)
new_ltEs13(Just(vyy2220), Nothing, deh) → False
new_ltEs23(vyy241, vyy242, ty_Bool) → new_ltEs6(vyy241, vyy242)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_lt20(vyy2221, vyy2231, app(ty_[], fh)) → new_lt15(vyy2221, vyy2231, fh)
new_ltEs24(vyy213, vyy216, ty_@0) → new_ltEs10(vyy213, vyy216)
new_lt19(vyy250, vyy252, ty_Ordering) → new_lt13(vyy250, vyy252)
new_esEs15(@0, @0) → True
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Integer) → new_ltEs8(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, app(app(ty_@2, ccc), ccd)) → new_ltEs5(vyy2220, vyy2230, ccc, ccd)
new_esEs26(vyy3001, vyy401, app(app(app(ty_@3, dab), dac), dad)) → new_esEs20(vyy3001, vyy401, dab, dac, dad)
new_compare32(vyy300, vyy40, app(app(ty_@2, bag), bah)) → new_compare31(vyy300, vyy40, bag, bah)
new_esEs11(vyy300, vyy40, app(app(ty_@2, eee), eef)) → new_esEs14(vyy300, vyy40, eee, eef)
new_esEs37(vyy2220, vyy2230, ty_Char) → new_esEs21(vyy2220, vyy2230)
new_asAs(False, vyy268) → False
new_esEs28(vyy2220, vyy2230, ty_Float) → new_esEs23(vyy2220, vyy2230)
new_esEs31(vyy3000, vyy400, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_primMulInt(Neg(vyy3000), Pos(vyy400)) → Neg(new_primMulNat0(vyy3000, vyy400))
new_primMulInt(Pos(vyy3000), Neg(vyy400)) → Neg(new_primMulNat0(vyy3000, vyy400))
new_esEs24(True, True) → True
new_primMulNat0(Succ(vyy30000), Zero) → Zero
new_primMulNat0(Zero, Succ(vyy4000)) → Zero
new_lt19(vyy250, vyy252, ty_Float) → new_lt12(vyy250, vyy252)
new_compare110(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, False, vyy322, dfb, dfc, dfd) → new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, vyy322, dfb, dfc, dfd)
new_esEs31(vyy3000, vyy400, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_compare14(Just(vyy300), Just(vyy40), cag) → new_compare27(vyy300, vyy40, new_esEs9(vyy300, vyy40, cag), cag)
new_esEs10(vyy300, vyy40, app(ty_[], dgf)) → new_esEs17(vyy300, vyy40, dgf)
new_compare210(vyy241, vyy242, False, ceh, ffc) → new_compare15(vyy241, vyy242, new_ltEs23(vyy241, vyy242, ffc), ceh, ffc)
new_esEs39(vyy211, vyy214, ty_Float) → new_esEs23(vyy211, vyy214)
new_lt17(vyy250, vyy252) → new_esEs19(new_compare9(vyy250, vyy252), LT)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(ty_[], bab)) → new_ltEs14(vyy2220, vyy2230, bab)
new_esEs36(vyy2221, vyy2231, ty_Int) → new_esEs13(vyy2221, vyy2231)
new_esEs18(Nothing, Just(vyy400), ehb) → False
new_esEs18(Just(vyy3000), Nothing, ehb) → False
new_ltEs12(GT, GT) → True
new_lt21(vyy2220, vyy2230, ty_Ordering) → new_lt13(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Int) → new_ltEs16(vyy2220, vyy2230)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Bool) → new_esEs24(vyy3000, vyy400)
new_ltEs20(vyy222, vyy223, ty_Bool) → new_ltEs6(vyy222, vyy223)
new_ltEs23(vyy241, vyy242, ty_Double) → new_ltEs9(vyy241, vyy242)
new_ltEs19(vyy234, vyy235, ty_@0) → new_ltEs10(vyy234, vyy235)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Ordering, cbb) → new_ltEs12(vyy2220, vyy2230)
new_esEs39(vyy211, vyy214, app(app(ty_Either, bgb), bgc)) → new_esEs25(vyy211, vyy214, bgb, bgc)
new_esEs38(vyy212, vyy215, ty_Int) → new_esEs13(vyy212, vyy215)
new_esEs35(vyy3000, vyy400, app(app(ty_@2, fdf), fdg)) → new_esEs14(vyy3000, vyy400, fdf, fdg)
new_ltEs22(vyy2222, vyy2232, app(app(ty_@2, dg), dh)) → new_ltEs5(vyy2222, vyy2232, dg, dh)
new_esEs38(vyy212, vyy215, ty_Integer) → new_esEs16(vyy212, vyy215)
new_ltEs21(vyy251, vyy253, app(ty_Ratio, eed)) → new_ltEs15(vyy251, vyy253, eed)
new_esEs35(vyy3000, vyy400, app(app(app(ty_@3, feb), fec), fed)) → new_esEs20(vyy3000, vyy400, feb, fec, fed)
new_ltEs22(vyy2222, vyy2232, ty_Integer) → new_ltEs8(vyy2222, vyy2232)
new_lt22(vyy211, vyy214, ty_Char) → new_lt17(vyy211, vyy214)
new_lt23(vyy212, vyy215, app(ty_[], cad)) → new_lt15(vyy212, vyy215, cad)
new_esEs18(Just(vyy3000), Just(vyy400), app(ty_Ratio, fgh)) → new_esEs22(vyy3000, vyy400, fgh)
new_esEs36(vyy2221, vyy2231, ty_Integer) → new_esEs16(vyy2221, vyy2231)
new_esEs10(vyy300, vyy40, app(ty_Maybe, dgg)) → new_esEs18(vyy300, vyy40, dgg)
new_esEs29(vyy3002, vyy402, ty_Char) → new_esEs21(vyy3002, vyy402)
new_esEs36(vyy2221, vyy2231, app(app(ty_@2, eh), fa)) → new_esEs14(vyy2221, vyy2231, eh, fa)
new_compare27(vyy222, vyy223, False, dhh) → new_compare16(vyy222, vyy223, new_ltEs20(vyy222, vyy223, dhh), dhh)
new_lt20(vyy2221, vyy2231, app(ty_Maybe, fg)) → new_lt14(vyy2221, vyy2231, fg)
new_lt5(vyy2220, vyy2230, app(app(ty_Either, dc), dd)) → new_lt18(vyy2220, vyy2230, dc, dd)
new_esEs38(vyy212, vyy215, app(ty_Maybe, cac)) → new_esEs18(vyy212, vyy215, cac)
new_esEs36(vyy2221, vyy2231, ty_@0) → new_esEs15(vyy2221, vyy2231)
new_lt22(vyy211, vyy214, app(app(ty_Either, bgb), bgc)) → new_lt18(vyy211, vyy214, bgb, bgc)
new_ltEs18(vyy2221, vyy2231, app(ty_Maybe, bf)) → new_ltEs13(vyy2221, vyy2231, bf)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Integer, cbb) → new_ltEs8(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), ccb, ty_Float) → new_ltEs11(vyy2220, vyy2230)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Float) → new_esEs23(vyy3000, vyy400)
new_ltEs19(vyy234, vyy235, ty_Int) → new_ltEs16(vyy234, vyy235)
new_esEs7(vyy301, vyy41, ty_Int) → new_esEs13(vyy301, vyy41)
new_lt22(vyy211, vyy214, ty_Integer) → new_lt9(vyy211, vyy214)
new_lt23(vyy212, vyy215, app(app(app(ty_@3, bhh), caa), cab)) → new_lt8(vyy212, vyy215, bhh, caa, cab)
new_ltEs18(vyy2221, vyy2231, ty_Ordering) → new_ltEs12(vyy2221, vyy2231)
new_lt23(vyy212, vyy215, app(ty_Maybe, cac)) → new_lt14(vyy212, vyy215, cac)
new_esEs30(vyy3001, vyy401, ty_Int) → new_esEs13(vyy3001, vyy401)
new_esEs36(vyy2221, vyy2231, app(ty_Ratio, ffa)) → new_esEs22(vyy2221, vyy2231, ffa)
new_esEs38(vyy212, vyy215, ty_Float) → new_esEs23(vyy212, vyy215)
new_esEs4(vyy301, vyy41, ty_@0) → new_esEs15(vyy301, vyy41)
new_esEs28(vyy2220, vyy2230, app(ty_[], db)) → new_esEs17(vyy2220, vyy2230, db)
new_esEs10(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_lt8(vyy250, vyy252, bce, bcf, bcg) → new_esEs19(new_compare5(vyy250, vyy252, bce, bcf, bcg), LT)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, app(app(ty_@2, fca), fcb)) → new_esEs14(vyy3000, vyy400, fca, fcb)
new_esEs37(vyy2220, vyy2230, ty_Int) → new_esEs13(vyy2220, vyy2230)
new_esEs27(vyy3000, vyy400, ty_Char) → new_esEs21(vyy3000, vyy400)
new_ltEs19(vyy234, vyy235, app(ty_Maybe, ced)) → new_ltEs13(vyy234, vyy235, ced)
new_ltEs20(vyy222, vyy223, ty_Float) → new_ltEs11(vyy222, vyy223)
new_ltEs12(EQ, LT) → False
new_compare32(vyy300, vyy40, ty_Char) → new_compare9(vyy300, vyy40)
new_compare33(True, True) → EQ
new_esEs25(Right(vyy3000), Right(vyy400), ehc, app(ty_Maybe, fcd)) → new_esEs18(vyy3000, vyy400, fcd)
new_compare32(vyy300, vyy40, ty_Int) → new_compare6(vyy300, vyy40)
new_esEs31(vyy3000, vyy400, app(app(ty_@2, eda), edb)) → new_esEs14(vyy3000, vyy400, eda, edb)
new_compare19(GT, EQ) → GT
new_esEs8(vyy300, vyy40, app(app(ty_@2, ddd), dde)) → new_esEs14(vyy300, vyy40, ddd, dde)
new_esEs10(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs36(vyy2221, vyy2231, ty_Ordering) → new_esEs19(vyy2221, vyy2231)
new_esEs8(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_esEs23(Float(vyy3000, vyy3001), Float(vyy400, vyy401)) → new_esEs13(new_sr(vyy3000, vyy400), new_sr(vyy3001, vyy401))
new_esEs7(vyy301, vyy41, ty_Double) → new_esEs12(vyy301, vyy41)
new_lt21(vyy2220, vyy2230, ty_Int) → new_lt4(vyy2220, vyy2230)
new_ltEs23(vyy241, vyy242, app(ty_Maybe, cff)) → new_ltEs13(vyy241, vyy242, cff)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Int) → new_ltEs16(vyy2220, vyy2230)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, ty_Char) → new_esEs21(vyy3000, vyy400)
new_lt19(vyy250, vyy252, ty_Integer) → new_lt9(vyy250, vyy252)
new_lt21(vyy2220, vyy2230, ty_Float) → new_lt12(vyy2220, vyy2230)
new_esEs39(vyy211, vyy214, app(ty_[], bga)) → new_esEs17(vyy211, vyy214, bga)
new_esEs34(vyy250, vyy252, app(ty_Maybe, bch)) → new_esEs18(vyy250, vyy252, bch)
new_esEs31(vyy3000, vyy400, app(ty_Ratio, edh)) → new_esEs22(vyy3000, vyy400, edh)
new_esEs10(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_ltEs21(vyy251, vyy253, ty_Bool) → new_ltEs6(vyy251, vyy253)
new_ltEs20(vyy222, vyy223, ty_Integer) → new_ltEs8(vyy222, vyy223)
new_lt21(vyy2220, vyy2230, app(app(ty_Either, hb), hc)) → new_lt18(vyy2220, vyy2230, hb, hc)
new_esEs31(vyy3000, vyy400, app(ty_[], edc)) → new_esEs17(vyy3000, vyy400, edc)
new_compare27(vyy222, vyy223, True, dhh) → EQ
new_esEs9(vyy300, vyy40, app(ty_[], ehg)) → new_esEs17(vyy300, vyy40, ehg)
new_esEs31(vyy3000, vyy400, ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs8(vyy300, vyy40, app(ty_[], ddf)) → new_esEs17(vyy300, vyy40, ddf)
new_esEs29(vyy3002, vyy402, ty_Integer) → new_esEs16(vyy3002, vyy402)
new_compare29(vyy250, vyy251, vyy252, vyy253, False, bdd, bcd) → new_compare11(vyy250, vyy251, vyy252, vyy253, new_lt19(vyy250, vyy252, bdd), new_asAs(new_esEs34(vyy250, vyy252, bdd), new_ltEs21(vyy251, vyy253, bcd)), bdd, bcd)
new_esEs30(vyy3001, vyy401, app(app(ty_Either, ecg), ech)) → new_esEs25(vyy3001, vyy401, ecg, ech)
new_esEs39(vyy211, vyy214, ty_Integer) → new_esEs16(vyy211, vyy214)
new_primPlusNat0(Succ(vyy33000), Succ(vyy40000)) → Succ(Succ(new_primPlusNat0(vyy33000, vyy40000)))
new_ltEs13(Just(vyy2220), Just(vyy2230), app(app(app(ty_@3, hf), hg), hh)) → new_ltEs7(vyy2220, vyy2230, hf, hg, hh)
new_compare19(EQ, EQ) → EQ
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Char, cbb) → new_ltEs17(vyy2220, vyy2230)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Float, cbb) → new_ltEs11(vyy2220, vyy2230)
new_esEs7(vyy301, vyy41, ty_Char) → new_esEs21(vyy301, vyy41)
new_esEs27(vyy3000, vyy400, app(app(ty_Either, dbh), dca)) → new_esEs25(vyy3000, vyy400, dbh, dca)
new_compare0([], :(vyy40, vyy41), baf) → LT
new_esEs9(vyy300, vyy40, app(app(app(ty_@3, faa), fab), fac)) → new_esEs20(vyy300, vyy40, faa, fab, fac)
new_esEs7(vyy301, vyy41, app(app(ty_@2, cgb), cgc)) → new_esEs14(vyy301, vyy41, cgb, cgc)
new_compare19(GT, LT) → GT
new_asAs(True, vyy268) → vyy268
new_ltEs22(vyy2222, vyy2232, ty_Bool) → new_ltEs6(vyy2222, vyy2232)
new_ltEs22(vyy2222, vyy2232, ty_Float) → new_ltEs11(vyy2222, vyy2232)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(app(ty_@2, cah), cba), cbb) → new_ltEs5(vyy2220, vyy2230, cah, cba)
new_esEs7(vyy301, vyy41, app(ty_Ratio, cha)) → new_esEs22(vyy301, vyy41, cha)
new_esEs28(vyy2220, vyy2230, app(app(app(ty_@3, ce), cf), cg)) → new_esEs20(vyy2220, vyy2230, ce, cf, cg)
new_esEs4(vyy301, vyy41, app(app(app(ty_@3, egc), egd), ege)) → new_esEs20(vyy301, vyy41, egc, egd, ege)
new_ltEs23(vyy241, vyy242, ty_Char) → new_ltEs17(vyy241, vyy242)
new_compare19(LT, LT) → EQ
new_esEs34(vyy250, vyy252, ty_Int) → new_esEs13(vyy250, vyy252)
new_compare32(vyy300, vyy40, app(app(ty_Either, bbf), bbg)) → new_compare30(vyy300, vyy40, bbf, bbg)
new_ltEs17(vyy222, vyy223) → new_fsEs(new_compare9(vyy222, vyy223))
new_esEs31(vyy3000, vyy400, app(app(ty_Either, eea), eeb)) → new_esEs25(vyy3000, vyy400, eea, eeb)
new_esEs9(vyy300, vyy40, app(ty_Ratio, fad)) → new_esEs22(vyy300, vyy40, fad)
new_compare28(Float(vyy300, vyy301), Float(vyy40, vyy41)) → new_compare6(new_sr(vyy300, vyy40), new_sr(vyy301, vyy41))
new_esEs7(vyy301, vyy41, app(ty_Maybe, cge)) → new_esEs18(vyy301, vyy41, cge)
new_esEs17([], [], eha) → True
new_esEs17(:(vyy3000, vyy3001), [], eha) → False
new_esEs17([], :(vyy400, vyy401), eha) → False
new_lt20(vyy2221, vyy2231, ty_@0) → new_lt11(vyy2221, vyy2231)
new_esEs25(Left(vyy3000), Left(vyy400), app(app(ty_Either, fbg), fbh), ehd) → new_esEs25(vyy3000, vyy400, fbg, fbh)
new_ltEs24(vyy213, vyy216, app(app(ty_@2, bge), bgf)) → new_ltEs5(vyy213, vyy216, bge, bgf)
new_esEs25(Right(vyy3000), Right(vyy400), ehc, app(app(ty_Either, fda), fdb)) → new_esEs25(vyy3000, vyy400, fda, fdb)
new_ltEs24(vyy213, vyy216, app(app(ty_Either, bhd), bhe)) → new_ltEs4(vyy213, vyy216, bhd, bhe)
new_ltEs6(False, False) → True
new_esEs37(vyy2220, vyy2230, ty_Ordering) → new_esEs19(vyy2220, vyy2230)
new_esEs5(vyy300, vyy40, app(ty_[], eha)) → new_esEs17(vyy300, vyy40, eha)
new_lt23(vyy212, vyy215, app(app(ty_Either, cae), caf)) → new_lt18(vyy212, vyy215, cae, caf)
new_esEs31(vyy3000, vyy400, app(app(app(ty_@3, ede), edf), edg)) → new_esEs20(vyy3000, vyy400, ede, edf, edg)
new_esEs18(Just(vyy3000), Just(vyy400), app(app(ty_@2, fga), fgb)) → new_esEs14(vyy3000, vyy400, fga, fgb)
new_ltEs10(vyy222, vyy223) → new_fsEs(new_compare18(vyy222, vyy223))
new_esEs38(vyy212, vyy215, app(ty_Ratio, ffg)) → new_esEs22(vyy212, vyy215, ffg)
new_lt20(vyy2221, vyy2231, ty_Double) → new_lt10(vyy2221, vyy2231)
new_primCompAux00(vyy228, GT) → GT
new_esEs10(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_ltEs18(vyy2221, vyy2231, ty_Double) → new_ltEs9(vyy2221, vyy2231)
new_esEs32(vyy3001, vyy401, ty_Int) → new_esEs13(vyy3001, vyy401)
new_esEs37(vyy2220, vyy2230, ty_Double) → new_esEs12(vyy2220, vyy2230)
new_esEs34(vyy250, vyy252, ty_Ordering) → new_esEs19(vyy250, vyy252)
new_ltEs24(vyy213, vyy216, ty_Ordering) → new_ltEs12(vyy213, vyy216)
new_compare32(vyy300, vyy40, app(ty_Maybe, bbd)) → new_compare14(vyy300, vyy40, bbd)
new_ltEs12(GT, LT) → False
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_compare7(:%(vyy300, vyy301), :%(vyy40, vyy41), ty_Int) → new_compare6(new_sr(vyy300, vyy41), new_sr(vyy40, vyy301))
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Ordering) → new_ltEs12(vyy2220, vyy2230)
new_esEs5(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, True, dfb, dfc, dfd) → LT
new_ltEs18(vyy2221, vyy2231, ty_Integer) → new_ltEs8(vyy2221, vyy2231)
new_ltEs21(vyy251, vyy253, ty_Char) → new_ltEs17(vyy251, vyy253)
new_ltEs21(vyy251, vyy253, ty_Double) → new_ltEs9(vyy251, vyy253)
new_ltEs20(vyy222, vyy223, ty_Char) → new_ltEs17(vyy222, vyy223)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs9(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_primCmpInt(Neg(Succ(vyy3000)), Pos(vyy40)) → LT
new_esEs36(vyy2221, vyy2231, app(app(app(ty_@3, fc), fd), ff)) → new_esEs20(vyy2221, vyy2231, fc, fd, ff)
new_compare19(LT, EQ) → LT
new_esEs30(vyy3001, vyy401, ty_Float) → new_esEs23(vyy3001, vyy401)
new_esEs5(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs5(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_esEs26(vyy3001, vyy401, app(ty_Ratio, dae)) → new_esEs22(vyy3001, vyy401, dae)
new_not(True) → False
new_ltEs24(vyy213, vyy216, app(ty_[], bhc)) → new_ltEs14(vyy213, vyy216, bhc)
new_esEs4(vyy301, vyy41, app(ty_Maybe, egb)) → new_esEs18(vyy301, vyy41, egb)

The set Q consists of the following terms:

new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs20(x0, x1, ty_Ordering)
new_compare11(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs10(x0, x1, ty_Bool)
new_esEs25(Left(x0), Left(x1), ty_Char, x2)
new_ltEs18(x0, x1, ty_@0)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_lt8(x0, x1, x2, x3, x4)
new_esEs37(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Bool)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare32(x0, x1, ty_Int)
new_esEs20(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs18(Just(x0), Just(x1), ty_Bool)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Float)
new_esEs18(Just(x0), Just(x1), ty_Double)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs4(x0, x1, ty_Char)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(LT, LT)
new_compare30(Left(x0), Right(x1), x2, x3)
new_compare30(Right(x0), Left(x1), x2, x3)
new_lt7(x0, x1)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, ty_Integer)
new_esEs7(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs25(Right(x0), Right(x1), x2, ty_Ordering)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, False, x2, x3)
new_compare0(:(x0, x1), [], x2)
new_esEs25(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, ty_Int)
new_esEs25(Right(x0), Right(x1), x2, ty_Double)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Bool)
new_esEs18(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Int)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_compare19(GT, LT)
new_esEs36(x0, x1, ty_Int)
new_compare19(LT, GT)
new_esEs39(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Char)
new_esEs36(x0, x1, ty_Double)
new_lt18(x0, x1, x2, x3)
new_esEs38(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Bool)
new_lt5(x0, x1, ty_Int)
new_esEs25(Right(x0), Right(x1), x2, ty_Float)
new_primPlusNat1(Zero, x0)
new_compare13(x0, x1, False, x2, x3)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_Char)
new_esEs16(Integer(x0), Integer(x1))
new_esEs9(x0, x1, ty_Char)
new_esEs17([], [], x0)
new_esEs7(x0, x1, ty_Ordering)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Integer)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Integer)
new_lt4(x0, x1)
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Nothing, Nothing, x0)
new_esEs18(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_sr(x0, x1)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_compare110(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs12(GT, GT)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs23(x0, x1, ty_Ordering)
new_compare14(Nothing, Nothing, x0)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs24(x0, x1, ty_@0)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Ordering)
new_compare13(x0, x1, True, x2, x3)
new_compare14(Just(x0), Just(x1), x2)
new_compare29(x0, x1, x2, x3, True, x4, x5)
new_lt19(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Integer)
new_compare110(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_esEs4(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Integer)
new_lt19(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Bool)
new_esEs23(Float(x0, x1), Float(x2, x3))
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(True, True)
new_esEs34(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_@0)
new_compare6(x0, x1)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare27(x0, x1, True, x2)
new_esEs31(x0, x1, ty_Double)
new_esEs11(x0, x1, ty_Ordering)
new_esEs36(x0, x1, ty_Char)
new_esEs34(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Double)
new_compare26(x0, x1, True, x2, x3)
new_ltEs22(x0, x1, ty_Double)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs22(:%(x0, x1), :%(x2, x3), x4)
new_ltEs13(Nothing, Just(x0), x1)
new_compare18(@0, @0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_lt5(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs11(x0, x1)
new_ltEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs26(x0, x1, ty_Int)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Int)
new_esEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs21(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs28(x0, x1, ty_Char)
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(@2(x0, x1), @2(x2, x3), x4, x5)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs30(x0, x1, ty_Float)
new_ltEs21(x0, x1, ty_Char)
new_compare32(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Float)
new_lt19(x0, x1, ty_Float)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_esEs39(x0, x1, ty_Ordering)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_compare11(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs6(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs6(x0, x1, ty_Char)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, ty_Bool)
new_esEs4(x0, x1, ty_Int)
new_esEs28(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs18(Nothing, Just(x0), x1)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Char)
new_esEs35(x0, x1, ty_Double)
new_ltEs23(x0, x1, ty_Char)
new_compare25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_lt23(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Integer)
new_compare29(x0, x1, x2, x3, False, x4, x5)
new_asAs(False, x0)
new_lt5(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Integer)
new_esEs25(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs19(LT, LT)
new_ltEs13(Just(x0), Nothing, x1)
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_esEs34(x0, x1, ty_Char)
new_compare32(x0, x1, ty_@0)
new_esEs25(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs8(x0, x1, ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs30(x0, x1, ty_Char)
new_lt15(x0, x1, x2)
new_esEs25(Right(x0), Right(x1), x2, ty_@0)
new_esEs26(x0, x1, ty_Char)
new_lt5(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Char)
new_lt20(x0, x1, ty_@0)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(Just(x0), Just(x1), ty_Integer)
new_compare30(Right(x0), Right(x1), x2, x3)
new_lt5(x0, x1, ty_Double)
new_esEs33(x0, x1, ty_Int)
new_esEs18(Just(x0), Nothing, x1)
new_esEs9(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Double)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs8(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_@0)
new_esEs37(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Bool)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_compare17(Double(x0, x1), Double(x2, x3))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs24(False, True)
new_esEs24(True, False)
new_compare33(True, False)
new_compare33(False, True)
new_pePe(False, x0)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_esEs7(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, ty_Integer)
new_esEs28(x0, x1, ty_Bool)
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_esEs10(x0, x1, ty_Int)
new_compare210(x0, x1, True, x2, x3)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs18(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Bool)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Int)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_compare19(LT, LT)
new_esEs35(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(Left(x0), Left(x1), ty_Double, x2)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(False, False)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Zero, Zero)
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Float)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs37(x0, x1, ty_@0)
new_fsEs(x0)
new_lt21(x0, x1, ty_@0)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_compare27(x0, x1, False, x2)
new_compare30(Left(x0), Left(x1), x2, x3)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Int)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_compare28(Float(x0, x1), Float(x2, x3))
new_esEs26(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs18(Just(x0), Just(x1), ty_Int)
new_compare16(x0, x1, False, x2)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs25(Right(x0), Right(x1), x2, ty_Char)
new_esEs38(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_esEs39(x0, x1, ty_Char)
new_lt22(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs6(True, False)
new_ltEs6(False, True)
new_esEs18(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Ordering)
new_compare26(x0, x1, False, x2, x3)
new_esEs35(x0, x1, ty_Int)
new_ltEs14(x0, x1, x2)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Char)
new_ltEs12(EQ, GT)
new_ltEs12(GT, EQ)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux00(x0, GT)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs31(x0, x1, ty_Ordering)
new_compare32(x0, x1, ty_Bool)
new_lt22(x0, x1, ty_@0)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare33(True, True)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Zero, Succ(x0))
new_esEs26(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Integer)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs17([], :(x0, x1), x2)
new_primCompAux00(x0, EQ)
new_ltEs19(x0, x1, ty_Integer)
new_lt23(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Ordering)
new_esEs18(Just(x0), Just(x1), ty_Ordering)
new_compare33(False, False)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_Double)
new_lt13(x0, x1)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs9(x0, x1)
new_primPlusNat0(Succ(x0), Succ(x1))
new_ltEs20(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Integer)
new_esEs25(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs31(x0, x1, ty_Integer)
new_esEs17(:(x0, x1), :(x2, x3), x4)
new_esEs27(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_ltEs22(x0, x1, ty_Float)
new_esEs5(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Ordering)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs10(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Int)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Bool)
new_compare5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs8(x0, x1, ty_Bool)
new_compare0([], [], x0)
new_lt21(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs4(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs6(x0, x1, ty_Double)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(EQ, EQ)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(False, False)
new_esEs25(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs29(x0, x1, ty_Char)
new_lt22(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs22(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt23(x0, x1, ty_Double)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs18(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs25(Left(x0), Left(x1), ty_Int, x2)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_pePe(True, x0)
new_esEs11(x0, x1, ty_@0)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_lt17(x0, x1)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Integer)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_esEs5(x0, x1, ty_Integer)
new_compare32(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Float)
new_ltEs21(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Float)
new_asAs(True, x0)
new_lt20(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_compare9(Char(x0), Char(x1))
new_compare16(x0, x1, True, x2)
new_esEs7(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare15(x0, x1, True, x2, x3)
new_esEs39(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Succ(x0))
new_lt21(x0, x1, ty_Bool)
new_esEs25(Left(x0), Left(x1), ty_Float, x2)
new_ltEs24(x0, x1, app(ty_[], x2))
new_compare19(EQ, EQ)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), Zero)
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs4(x0, x1, ty_Float)
new_esEs18(Just(x0), Just(x1), ty_Float)
new_esEs32(x0, x1, ty_Integer)
new_lt11(x0, x1)
new_esEs38(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_@0)
new_compare0([], :(x0, x1), x2)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs17(:(x0, x1), [], x2)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Char)
new_esEs25(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_@0)
new_primCmpNat0(Zero, Zero)
new_compare32(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs9(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, ty_Float)
new_esEs10(x0, x1, ty_Char)
new_lt16(x0, x1, x2)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Float)
new_compare32(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_compare25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Succ(x0), x1)
new_esEs37(x0, x1, ty_Double)
new_esEs15(@0, @0)
new_ltEs23(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Integer)
new_esEs7(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Double)
new_ltEs18(x0, x1, ty_Bool)
new_compare8(Integer(x0), Integer(x1))
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primPlusNat0(Zero, Succ(x0))
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_ltEs19(x0, x1, ty_Float)
new_esEs19(GT, GT)
new_esEs24(True, True)
new_lt14(x0, x1, x2)
new_ltEs21(x0, x1, ty_Double)
new_esEs28(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs31(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs15(x0, x1, x2)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs28(x0, x1, ty_Float)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_@0)
new_compare19(GT, GT)
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs19(EQ, EQ)
new_esEs39(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_lt9(x0, x1)
new_esEs5(x0, x1, ty_Char)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Ordering)
new_esEs18(Just(x0), Just(x1), ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Bool)
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_compare19(LT, EQ)
new_compare19(EQ, LT)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Bool)
new_ltEs16(x0, x1)
new_esEs34(x0, x1, ty_Ordering)
new_primCompAux00(x0, LT)
new_not(True)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_@0)
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_esEs7(x0, x1, ty_Char)
new_esEs39(x0, x1, ty_Int)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs25(Left(x0), Left(x1), ty_Integer, x2)
new_esEs37(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Ordering)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Integer)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs25(Right(x0), Right(x1), x2, ty_Integer)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, app(ty_Ratio, x2))
new_compare15(x0, x1, False, x2, x3)
new_esEs4(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Float)
new_ltEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs8(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, ty_Char)
new_esEs37(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_sr0(Integer(x0), Integer(x1))
new_esEs29(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_primCmpNat0(Succ(x0), Zero)
new_esEs25(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(x0, x1)
new_compare14(Just(x0), Nothing, x1)
new_esEs9(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Bool)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Double)
new_esEs25(Right(x0), Right(x1), x2, ty_Bool)
new_lt23(x0, x1, ty_Ordering)
new_esEs25(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt12(x0, x1)
new_lt21(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs18(Just(x0), Just(x1), app(ty_[], x2))
new_esEs35(x0, x1, ty_@0)
new_esEs21(Char(x0), Char(x1))
new_esEs35(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_esEs25(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs9(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs34(x0, x1, ty_Double)
new_esEs39(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, ty_Integer)
new_esEs18(Nothing, Nothing, x0)
new_compare14(Nothing, Just(x0), x1)
new_esEs10(x0, x1, ty_Double)
new_compare19(GT, EQ)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_compare19(EQ, GT)
new_ltEs17(x0, x1)
new_esEs18(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Bool)
new_ltEs12(EQ, LT)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs12(LT, EQ)
new_lt22(x0, x1, ty_Integer)
new_esEs25(Left(x0), Left(x1), ty_@0, x2)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs25(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs39(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_@0)
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Integer)
new_esEs25(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs13(x0, x1)
new_esEs38(x0, x1, ty_Bool)
new_primCompAux0(x0, x1, x2, x3)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs24(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs25(Right(x0), Right(x1), x2, ty_Int)
new_lt21(x0, x1, app(ty_[], x2))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs30(x0, x1, ty_Integer)
new_ltEs12(GT, LT)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(LT, GT)
new_lt19(x0, x1, ty_Ordering)
new_lt6(x0, x1, x2, x3)
new_primMulNat0(Succ(x0), Zero)
new_ltEs22(x0, x1, ty_Int)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_compare32(x0, x1, ty_Ordering)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_lt10(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Char)
new_esEs25(Left(x0), Right(x1), x2, x3)
new_esEs25(Right(x0), Left(x1), x2, x3)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs23(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Integer)
new_lt19(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Integer)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Ordering)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Bool)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_foldFM_GE1(vyy34, vyy35, vyy36, vyy37, vyy38, vyy39, Branch(vyy400, vyy401, vyy402, vyy403, vyy404), False, h, ba) → new_foldFM_GE1(vyy34, vyy35, vyy400, vyy401, vyy402, vyy403, vyy404, new_gtEs(vyy400, vyy35, ba), h, ba)
new_foldFM_GE(vyy34, vyy35, Branch(vyy400, vyy401, vyy402, vyy403, vyy404), h, ba) → new_foldFM_GE1(vyy34, vyy35, vyy400, vyy401, vyy402, vyy403, vyy404, new_gtEs(vyy400, vyy35, ba), h, ba)
new_foldFM_GE2(vyy36, vyy37, vyy43, vyy35, vyy390, vyy391, vyy392, vyy393, vyy394, h, ba) → new_foldFM_GE1(new_eltsFM_GE0(vyy36, vyy37, vyy43, h, ba), vyy35, vyy390, vyy391, vyy392, vyy393, vyy394, new_gtEs0(vyy390, vyy35, ba), h, ba)
new_foldFM_GE1(vyy34, vyy35, vyy36, vyy37, vyy38, Branch(vyy390, vyy391, vyy392, vyy393, vyy394), vyy40, True, h, ba) → new_foldFM_GE2(vyy36, vyy37, new_foldFM_GE0(vyy34, vyy35, vyy40, h, ba), vyy35, vyy390, vyy391, vyy392, vyy393, vyy394, h, ba)
new_foldFM_GE1(vyy34, vyy35, vyy36, vyy37, vyy38, Branch(vyy390, vyy391, vyy392, vyy393, vyy394), vyy40, True, h, ba) → new_foldFM_GE(vyy34, vyy35, vyy40, h, ba)
new_foldFM_GE1(vyy34, vyy35, vyy36, vyy37, vyy38, EmptyFM, vyy40, True, h, ba) → new_foldFM_GE(vyy34, vyy35, vyy40, h, ba)

The TRS R consists of the following rules:

new_ltEs19(vyy234, vyy235, app(app(ty_@2, dhe), dhf)) → new_ltEs5(vyy234, vyy235, dhe, dhf)
new_esEs6(vyy302, vyy42, ty_@0) → new_esEs15(vyy302, vyy42)
new_esEs39(vyy211, vyy214, ty_Ordering) → new_esEs19(vyy211, vyy214)
new_gtEs(vyy400, vyy35, app(app(app(ty_@3, bbc), bbd), bbe)) → new_gtEs3(vyy400, vyy35, bbc, bbd, bbe)
new_esEs36(vyy2221, vyy2231, app(ty_[], fhb)) → new_esEs17(vyy2221, vyy2231, fhb)
new_gtEs(vyy400, vyy35, ty_Double) → new_gtEs5(vyy400, vyy35)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_compare8(Integer(vyy300), Integer(vyy40)) → new_primCmpInt(vyy300, vyy40)
new_lt19(vyy250, vyy252, app(app(app(ty_@3, efh), ega), egb)) → new_lt8(vyy250, vyy252, efh, ega, egb)
new_esEs28(vyy2220, vyy2230, app(ty_Maybe, dgf)) → new_esEs18(vyy2220, vyy2230, dgf)
new_compare14(Nothing, Just(vyy40), bch) → LT
new_esEs35(vyy3000, vyy400, app(ty_Ratio, feg)) → new_esEs22(vyy3000, vyy400, feg)
new_compare32(vyy300, vyy40, app(app(app(ty_@3, cgd), cge), cgf)) → new_compare5(vyy300, vyy40, cgd, cge, cgf)
new_lt20(vyy2221, vyy2231, app(ty_Ratio, fhc)) → new_lt16(vyy2221, vyy2231, fhc)
new_esEs6(vyy302, vyy42, ty_Bool) → new_esEs24(vyy302, vyy42)
new_lt23(vyy212, vyy215, ty_Double) → new_lt10(vyy212, vyy215)
new_lt20(vyy2221, vyy2231, app(app(app(ty_@3, fgf), fgg), fgh)) → new_lt8(vyy2221, vyy2231, fgf, fgg, fgh)
new_ltEs19(vyy234, vyy235, ty_Float) → new_ltEs11(vyy234, vyy235)
new_esEs11(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs33(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs37(vyy2220, vyy2230, app(ty_[], gad)) → new_esEs17(vyy2220, vyy2230, gad)
new_ltEs6(True, False) → False
new_ltEs20(vyy222, vyy223, app(ty_Ratio, bcf)) → new_ltEs15(vyy222, vyy223, bcf)
new_compare32(vyy300, vyy40, ty_Integer) → new_compare8(vyy300, vyy40)
new_ltEs21(vyy251, vyy253, ty_Int) → new_ltEs16(vyy251, vyy253)
new_esEs7(vyy301, vyy41, app(app(ty_Either, dda), ddb)) → new_esEs25(vyy301, vyy41, dda, ddb)
new_ltEs12(LT, LT) → True
new_esEs4(vyy301, vyy41, ty_Ordering) → new_esEs19(vyy301, vyy41)
new_gtEs0(vyy390, vyy35, ty_@0) → new_gtEs6(vyy390, vyy35)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_ltEs21(vyy251, vyy253, app(ty_Maybe, ehc)) → new_ltEs13(vyy251, vyy253, ehc)
new_esEs9(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs30(vyy3001, vyy401, ty_Char) → new_esEs21(vyy3001, vyy401)
new_compare5(@3(vyy300, vyy301, vyy302), @3(vyy40, vyy41, vyy42), bda, bdb, bdc) → new_compare25(vyy300, vyy301, vyy302, vyy40, vyy41, vyy42, new_asAs(new_esEs8(vyy300, vyy40, bda), new_asAs(new_esEs7(vyy301, vyy41, bdb), new_esEs6(vyy302, vyy42, bdc))), bda, bdb, bdc)
new_ltEs20(vyy222, vyy223, app(ty_Maybe, ea)) → new_ltEs13(vyy222, vyy223, ea)
new_ltEs18(vyy2221, vyy2231, ty_Char) → new_ltEs17(vyy2221, vyy2231)
new_gtEs0(vyy390, vyy35, ty_Char) → new_gtEs13(vyy390, vyy35)
new_ltEs23(vyy241, vyy242, ty_Integer) → new_ltEs8(vyy241, vyy242)
new_ltEs23(vyy241, vyy242, ty_@0) → new_ltEs10(vyy241, vyy242)
new_esEs4(vyy301, vyy41, ty_Bool) → new_esEs24(vyy301, vyy41)
new_esEs7(vyy301, vyy41, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs20(vyy301, vyy41, dce, dcf, dcg)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(app(ty_@2, eb), ec)) → new_ltEs5(vyy2220, vyy2230, eb, ec)
new_compare18(@0, @0) → EQ
new_esEs36(vyy2221, vyy2231, ty_Char) → new_esEs21(vyy2221, vyy2231)
new_lt20(vyy2221, vyy2231, ty_Integer) → new_lt9(vyy2221, vyy2231)
new_ltEs23(vyy241, vyy242, ty_Float) → new_ltEs11(vyy241, vyy242)
new_ltEs12(LT, EQ) → True
new_esEs25(Left(vyy3000), Left(vyy400), ty_Integer, bff) → new_esEs16(vyy3000, vyy400)
new_compare0(:(vyy300, vyy301), :(vyy40, vyy41), cga) → new_primCompAux0(vyy300, vyy40, new_compare0(vyy301, vyy41, cga), cga)
new_esEs27(vyy3000, vyy400, app(ty_Maybe, db)) → new_esEs18(vyy3000, vyy400, db)
new_esEs5(vyy300, vyy40, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs20(vyy300, vyy40, bfb, bfc, bfd)
new_esEs8(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_lt18(vyy250, vyy252, egd, ege) → new_esEs19(new_compare30(vyy250, vyy252, egd, ege), LT)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Int, fg) → new_ltEs16(vyy2220, vyy2230)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_lt22(vyy211, vyy214, app(app(app(ty_@3, cba), cbb), cbc)) → new_lt8(vyy211, vyy214, cba, cbb, cbc)
new_compare7(:%(vyy300, vyy301), :%(vyy40, vyy41), ty_Integer) → new_compare8(new_sr0(vyy300, vyy41), new_sr0(vyy40, vyy301))
new_esEs18(Just(vyy3000), Just(vyy400), ty_Char) → new_esEs21(vyy3000, vyy400)
new_lt20(vyy2221, vyy2231, ty_Float) → new_lt12(vyy2221, vyy2231)
new_eltsFM_GE0(vyy36, vyy37, vyy42, h, ba) → :(vyy37, vyy42)
new_esEs37(vyy2220, vyy2230, ty_@0) → new_esEs15(vyy2220, vyy2230)
new_ltEs20(vyy222, vyy223, ty_Double) → new_ltEs9(vyy222, vyy223)
new_compare30(Right(vyy300), Left(vyy40), bcd, bce) → GT
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_@0) → new_esEs15(vyy3000, vyy400)
new_gtEs7(vyy30, vyy4) → new_not(new_esEs40(new_compare28(vyy30, vyy4)))
new_esEs31(vyy3000, vyy400, ty_Char) → new_esEs21(vyy3000, vyy400)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Int) → new_esEs13(vyy3000, vyy400)
new_ltEs19(vyy234, vyy235, app(app(ty_Either, eae), eaf)) → new_ltEs4(vyy234, vyy235, eae, eaf)
new_pePe(False, vyy328) → vyy328
new_lt5(vyy2220, vyy2230, ty_Char) → new_lt17(vyy2220, vyy2230)
new_esEs19(GT, GT) → True
new_ltEs18(vyy2221, vyy2231, app(app(app(ty_@3, dfa), dfb), dfc)) → new_ltEs7(vyy2221, vyy2231, dfa, dfb, dfc)
new_esEs4(vyy301, vyy41, ty_Double) → new_esEs12(vyy301, vyy41)
new_gtEs(vyy400, vyy35, ty_Float) → new_gtEs7(vyy400, vyy35)
new_lt19(vyy250, vyy252, ty_Double) → new_lt10(vyy250, vyy252)
new_compare11(vyy300, vyy301, vyy302, vyy303, True, vyy305, baf, bag) → new_compare12(vyy300, vyy301, vyy302, vyy303, True, baf, bag)
new_lt19(vyy250, vyy252, app(ty_Ratio, bah)) → new_lt16(vyy250, vyy252, bah)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Char) → new_ltEs17(vyy2220, vyy2230)
new_esEs6(vyy302, vyy42, ty_Int) → new_esEs13(vyy302, vyy42)
new_esEs6(vyy302, vyy42, ty_Double) → new_esEs12(vyy302, vyy42)
new_ltEs20(vyy222, vyy223, app(app(ty_Either, gh), fg)) → new_ltEs4(vyy222, vyy223, gh, fg)
new_esEs24(True, False) → False
new_esEs24(False, True) → False
new_esEs30(vyy3001, vyy401, app(ty_Maybe, edc)) → new_esEs18(vyy3001, vyy401, edc)
new_esEs28(vyy2220, vyy2230, ty_@0) → new_esEs15(vyy2220, vyy2230)
new_esEs38(vyy212, vyy215, app(app(ty_Either, cec), ced)) → new_esEs25(vyy212, vyy215, cec, ced)
new_esEs40(EQ) → False
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, app(app(ty_Either, baa), bab)) → new_ltEs4(vyy2220, vyy2230, baa, bab)
new_compare13(vyy283, vyy284, False, fdf, fdg) → GT
new_ltEs18(vyy2221, vyy2231, ty_Int) → new_ltEs16(vyy2221, vyy2231)
new_esEs35(vyy3000, vyy400, ty_Char) → new_esEs21(vyy3000, vyy400)
new_esEs38(vyy212, vyy215, ty_Double) → new_esEs12(vyy212, vyy215)
new_esEs31(vyy3000, vyy400, app(ty_Maybe, eee)) → new_esEs18(vyy3000, vyy400, eee)
new_lt21(vyy2220, vyy2230, ty_Double) → new_lt10(vyy2220, vyy2230)
new_ltEs21(vyy251, vyy253, app(app(app(ty_@3, egh), eha), ehb)) → new_ltEs7(vyy251, vyy253, egh, eha, ehb)
new_esEs18(Nothing, Nothing, bfa) → True
new_esEs37(vyy2220, vyy2230, app(ty_Ratio, gae)) → new_esEs22(vyy2220, vyy2230, gae)
new_gtEs0(vyy390, vyy35, ty_Int) → new_gtEs12(vyy390, vyy35)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, app(app(app(ty_@3, hc), hd), he)) → new_ltEs7(vyy2220, vyy2230, hc, hd, he)
new_esEs18(Just(vyy3000), Just(vyy400), app(app(ty_Either, dad), dae)) → new_esEs25(vyy3000, vyy400, dad, dae)
new_ltEs19(vyy234, vyy235, app(ty_Ratio, ead)) → new_ltEs15(vyy234, vyy235, ead)
new_ltEs13(Nothing, Nothing, ea) → True
new_esEs37(vyy2220, vyy2230, app(ty_Maybe, gac)) → new_esEs18(vyy2220, vyy2230, gac)
new_ltEs19(vyy234, vyy235, ty_Bool) → new_ltEs6(vyy234, vyy235)
new_esEs4(vyy301, vyy41, ty_Integer) → new_esEs16(vyy301, vyy41)
new_lt22(vyy211, vyy214, ty_Float) → new_lt12(vyy211, vyy214)
new_gtEs0(vyy390, vyy35, ty_Integer) → new_gtEs4(vyy390, vyy35)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_@0) → new_ltEs10(vyy2220, vyy2230)
new_esEs11(vyy300, vyy40, app(app(ty_Either, fcb), fcc)) → new_esEs25(vyy300, vyy40, fcb, fcc)
new_compare32(vyy300, vyy40, ty_Ordering) → new_compare19(vyy300, vyy40)
new_lt4(vyy250, vyy252) → new_esEs19(new_compare6(vyy250, vyy252), LT)
new_gtEs(vyy400, vyy35, ty_Int) → new_gtEs12(vyy400, vyy35)
new_esEs17(:(vyy3000, vyy3001), :(vyy400, vyy401), beh) → new_asAs(new_esEs35(vyy3000, vyy400, beh), new_esEs17(vyy3001, vyy401, beh))
new_esEs10(vyy300, vyy40, app(app(ty_@2, ehh), faa)) → new_esEs14(vyy300, vyy40, ehh, faa)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, app(ty_[], hg)) → new_ltEs14(vyy2220, vyy2230, hg)
new_esEs28(vyy2220, vyy2230, ty_Integer) → new_esEs16(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_@0) → new_ltEs10(vyy2220, vyy2230)
new_compare0([], [], cga) → EQ
new_pePe(True, vyy328) → True
new_gtEs0(vyy390, vyy35, app(ty_Ratio, bbh)) → new_gtEs11(vyy390, vyy35, bbh)
new_primEqNat0(Zero, Zero) → True
new_compare32(vyy300, vyy40, ty_Double) → new_compare17(vyy300, vyy40)
new_ltEs21(vyy251, vyy253, ty_@0) → new_ltEs10(vyy251, vyy253)
new_ltEs14(vyy222, vyy223, bcc) → new_fsEs(new_compare0(vyy222, vyy223, bcc))
new_lt23(vyy212, vyy215, app(ty_Ratio, ceb)) → new_lt16(vyy212, vyy215, ceb)
new_primMulNat0(Succ(vyy30000), Succ(vyy4000)) → new_primPlusNat1(new_primMulNat0(vyy30000, Succ(vyy4000)), vyy4000)
new_esEs24(False, False) → True
new_esEs11(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_esEs27(vyy3000, vyy400, ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs7(vyy301, vyy41, ty_Bool) → new_esEs24(vyy301, vyy41)
new_lt20(vyy2221, vyy2231, ty_Bool) → new_lt7(vyy2221, vyy2231)
new_esEs25(Left(vyy3000), Left(vyy400), app(ty_Ratio, bgf), bff) → new_esEs22(vyy3000, vyy400, bgf)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Char) → new_ltEs17(vyy2220, vyy2230)
new_gtEs(vyy400, vyy35, app(ty_[], bbg)) → new_gtEs10(vyy400, vyy35, bbg)
new_esEs29(vyy3002, vyy402, ty_Int) → new_esEs13(vyy3002, vyy402)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Double) → new_ltEs9(vyy2220, vyy2230)
new_esEs5(vyy300, vyy40, app(app(ty_@2, bb), bc)) → new_esEs14(vyy300, vyy40, bb, bc)
new_gtEs11(vyy30, vyy4, daf) → new_not(new_esEs40(new_compare7(vyy30, vyy4, daf)))
new_esEs13(vyy300, vyy40) → new_primEqInt(vyy300, vyy40)
new_lt13(vyy250, vyy252) → new_esEs19(new_compare19(vyy250, vyy252), LT)
new_lt22(vyy211, vyy214, ty_@0) → new_lt11(vyy211, vyy214)
new_esEs11(vyy300, vyy40, app(ty_Maybe, fbe)) → new_esEs18(vyy300, vyy40, fbe)
new_ltEs22(vyy2222, vyy2232, ty_Double) → new_ltEs9(vyy2222, vyy2232)
new_lt20(vyy2221, vyy2231, ty_Char) → new_lt17(vyy2221, vyy2231)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs29(vyy3002, vyy402, app(app(app(ty_@3, ecb), ecc), ecd)) → new_esEs20(vyy3002, vyy402, ecb, ecc, ecd)
new_esEs21(Char(vyy3000), Char(vyy400)) → new_primEqNat0(vyy3000, vyy400)
new_esEs6(vyy302, vyy42, app(ty_[], dba)) → new_esEs17(vyy302, vyy42, dba)
new_compare33(False, True) → LT
new_lt5(vyy2220, vyy2230, app(ty_Ratio, dgh)) → new_lt16(vyy2220, vyy2230, dgh)
new_primEqInt(Neg(Succ(vyy30000)), Neg(Succ(vyy4000))) → new_primEqNat0(vyy30000, vyy4000)
new_gtEs8(vyy30, vyy4) → new_not(new_esEs40(new_compare19(vyy30, vyy4)))
new_compare13(vyy283, vyy284, True, fdf, fdg) → LT
new_lt21(vyy2220, vyy2230, ty_Integer) → new_lt9(vyy2220, vyy2230)
new_esEs19(EQ, EQ) → True
new_esEs5(vyy300, vyy40, app(ty_Maybe, bfa)) → new_esEs18(vyy300, vyy40, bfa)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Bool, bff) → new_esEs24(vyy3000, vyy400)
new_esEs29(vyy3002, vyy402, ty_Bool) → new_esEs24(vyy3002, vyy402)
new_ltEs23(vyy241, vyy242, app(app(ty_@2, ceg), ceh)) → new_ltEs5(vyy241, vyy242, ceg, ceh)
new_esEs29(vyy3002, vyy402, app(app(ty_@2, ebf), ebg)) → new_esEs14(vyy3002, vyy402, ebf, ebg)
new_lt23(vyy212, vyy215, ty_Char) → new_lt17(vyy212, vyy215)
new_gtEs(vyy400, vyy35, ty_Bool) → new_gtEs2(vyy400, vyy35)
new_esEs5(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_ltEs7(@3(vyy2220, vyy2221, vyy2222), @3(vyy2230, vyy2231, vyy2232), eba, ebb, ebc) → new_pePe(new_lt21(vyy2220, vyy2230, eba), new_asAs(new_esEs37(vyy2220, vyy2230, eba), new_pePe(new_lt20(vyy2221, vyy2231, ebb), new_asAs(new_esEs36(vyy2221, vyy2231, ebb), new_ltEs22(vyy2222, vyy2232, ebc)))))
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs30(vyy3001, vyy401, app(ty_Ratio, edg)) → new_esEs22(vyy3001, vyy401, edg)
new_esEs35(vyy3000, vyy400, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_ltEs12(EQ, EQ) → True
new_compare12(vyy300, vyy301, vyy302, vyy303, True, baf, bag) → LT
new_lt21(vyy2220, vyy2230, app(ty_Ratio, gae)) → new_lt16(vyy2220, vyy2230, gae)
new_esEs35(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_ltEs9(vyy222, vyy223) → new_fsEs(new_compare17(vyy222, vyy223))
new_ltEs21(vyy251, vyy253, app(ty_[], ehd)) → new_ltEs14(vyy251, vyy253, ehd)
new_compare19(EQ, LT) → GT
new_compare26(vyy234, vyy235, True, dhc, dhd) → EQ
new_primPlusNat1(Zero, vyy4000) → Succ(vyy4000)
new_lt20(vyy2221, vyy2231, ty_Ordering) → new_lt13(vyy2221, vyy2231)
new_lt21(vyy2220, vyy2230, ty_@0) → new_lt11(vyy2220, vyy2230)
new_fsEs(vyy329) → new_not(new_esEs19(vyy329, GT))
new_esEs27(vyy3000, vyy400, app(app(app(ty_@3, dc), dd), de)) → new_esEs20(vyy3000, vyy400, dc, dd, de)
new_ltEs21(vyy251, vyy253, app(app(ty_@2, egf), egg)) → new_ltEs5(vyy251, vyy253, egf, egg)
new_gtEs10(vyy30, vyy4, cga) → new_not(new_esEs40(new_compare0(vyy30, vyy4, cga)))
new_esEs25(Left(vyy3000), Left(vyy400), ty_Int, bff) → new_esEs13(vyy3000, vyy400)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_ltEs21(vyy251, vyy253, ty_Ordering) → new_ltEs12(vyy251, vyy253)
new_ltEs23(vyy241, vyy242, app(ty_Ratio, cff)) → new_ltEs15(vyy241, vyy242, cff)
new_ltEs20(vyy222, vyy223, app(app(ty_@2, dee), def)) → new_ltEs5(vyy222, vyy223, dee, def)
new_compare32(vyy300, vyy40, app(ty_[], cgh)) → new_compare0(vyy300, vyy40, cgh)
new_compare6(vyy30, vyy4) → new_primCmpInt(vyy30, vyy4)
new_lt5(vyy2220, vyy2230, app(app(ty_@2, dga), dgb)) → new_lt6(vyy2220, vyy2230, dga, dgb)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_lt16(vyy250, vyy252, bah) → new_esEs19(new_compare7(vyy250, vyy252, bah), LT)
new_lt21(vyy2220, vyy2230, app(app(app(ty_@3, fhh), gaa), gab)) → new_lt8(vyy2220, vyy2230, fhh, gaa, gab)
new_lt5(vyy2220, vyy2230, app(ty_Maybe, dgf)) → new_lt14(vyy2220, vyy2230, dgf)
new_primEqInt(Pos(Succ(vyy30000)), Pos(Succ(vyy4000))) → new_primEqNat0(vyy30000, vyy4000)
new_ltEs18(vyy2221, vyy2231, ty_@0) → new_ltEs10(vyy2221, vyy2231)
new_esEs35(vyy3000, vyy400, app(ty_Maybe, fec)) → new_esEs18(vyy3000, vyy400, fec)
new_ltEs21(vyy251, vyy253, ty_Float) → new_ltEs11(vyy251, vyy253)
new_esEs25(Left(vyy3000), Left(vyy400), app(app(app(ty_@3, bgc), bgd), bge), bff) → new_esEs20(vyy3000, vyy400, bgc, bgd, bge)
new_ltEs24(vyy213, vyy216, ty_Float) → new_ltEs11(vyy213, vyy216)
new_ltEs20(vyy222, vyy223, app(app(app(ty_@3, eba), ebb), ebc)) → new_ltEs7(vyy222, vyy223, eba, ebb, ebc)
new_primEqNat0(Succ(vyy30000), Succ(vyy4000)) → new_primEqNat0(vyy30000, vyy4000)
new_esEs34(vyy250, vyy252, app(app(ty_@2, eff), efg)) → new_esEs14(vyy250, vyy252, eff, efg)
new_esEs18(Just(vyy3000), Just(vyy400), app(ty_[], chf)) → new_esEs17(vyy3000, vyy400, chf)
new_ltEs18(vyy2221, vyy2231, app(ty_[], dfe)) → new_ltEs14(vyy2221, vyy2231, dfe)
new_primCmpInt(Neg(Succ(vyy3000)), Neg(vyy40)) → new_primCmpNat0(vyy40, Succ(vyy3000))
new_compare16(vyy273, vyy274, False, cac) → GT
new_esEs37(vyy2220, vyy2230, ty_Integer) → new_esEs16(vyy2220, vyy2230)
new_esEs18(Just(vyy3000), Just(vyy400), app(ty_Maybe, chg)) → new_esEs18(vyy3000, vyy400, chg)
new_esEs36(vyy2221, vyy2231, ty_Bool) → new_esEs24(vyy2221, vyy2231)
new_ltEs18(vyy2221, vyy2231, ty_Float) → new_ltEs11(vyy2221, vyy2231)
new_esEs28(vyy2220, vyy2230, ty_Bool) → new_esEs24(vyy2220, vyy2230)
new_esEs38(vyy212, vyy215, ty_@0) → new_esEs15(vyy212, vyy215)
new_lt5(vyy2220, vyy2230, ty_Double) → new_lt10(vyy2220, vyy2230)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Ordering, bff) → new_esEs19(vyy3000, vyy400)
new_esEs34(vyy250, vyy252, ty_Integer) → new_esEs16(vyy250, vyy252)
new_esEs5(vyy300, vyy40, app(app(ty_Either, bfe), bff)) → new_esEs25(vyy300, vyy40, bfe, bff)
new_esEs10(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_ltEs15(vyy222, vyy223, bcf) → new_fsEs(new_compare7(vyy222, vyy223, bcf))
new_esEs28(vyy2220, vyy2230, ty_Double) → new_esEs12(vyy2220, vyy2230)
new_ltEs20(vyy222, vyy223, app(ty_[], bcc)) → new_ltEs14(vyy222, vyy223, bcc)
new_ltEs18(vyy2221, vyy2231, app(app(ty_Either, dfg), dfh)) → new_ltEs4(vyy2221, vyy2231, dfg, dfh)
new_lt22(vyy211, vyy214, app(ty_[], cbe)) → new_lt15(vyy211, vyy214, cbe)
new_esEs11(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_ltEs12(GT, EQ) → False
new_ltEs11(vyy222, vyy223) → new_fsEs(new_compare28(vyy222, vyy223))
new_esEs30(vyy3001, vyy401, ty_Bool) → new_esEs24(vyy3001, vyy401)
new_esEs27(vyy3000, vyy400, ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Float) → new_esEs23(vyy3000, vyy400)
new_primEqInt(Neg(Zero), Pos(Succ(vyy4000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyy4000))) → False
new_esEs26(vyy3001, vyy401, app(ty_[], bf)) → new_esEs17(vyy3001, vyy401, bf)
new_esEs31(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_primCmpInt(Pos(Zero), Pos(Succ(vyy400))) → new_primCmpNat0(Zero, Succ(vyy400))
new_primCompAux00(vyy228, EQ) → vyy228
new_esEs27(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_lt19(vyy250, vyy252, ty_@0) → new_lt11(vyy250, vyy252)
new_esEs6(vyy302, vyy42, app(ty_Ratio, dbf)) → new_esEs22(vyy302, vyy42, dbf)
new_esEs25(Left(vyy3000), Right(vyy400), bfe, bff) → False
new_esEs25(Right(vyy3000), Left(vyy400), bfe, bff) → False
new_compare19(GT, GT) → EQ
new_lt23(vyy212, vyy215, ty_Integer) → new_lt9(vyy212, vyy215)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, app(ty_Maybe, hf)) → new_ltEs13(vyy2220, vyy2230, hf)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_ltEs22(vyy2222, vyy2232, ty_Int) → new_ltEs16(vyy2222, vyy2232)
new_not(False) → True
new_ltEs22(vyy2222, vyy2232, app(app(ty_Either, fgb), fgc)) → new_ltEs4(vyy2222, vyy2232, fgb, fgc)
new_esEs30(vyy3001, vyy401, ty_Double) → new_esEs12(vyy3001, vyy401)
new_lt7(vyy250, vyy252) → new_esEs19(new_compare33(vyy250, vyy252), LT)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Double) → new_esEs12(vyy3000, vyy400)
new_esEs35(vyy3000, vyy400, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_esEs39(vyy211, vyy214, ty_Char) → new_esEs21(vyy211, vyy214)
new_esEs30(vyy3001, vyy401, app(app(ty_@2, ech), eda)) → new_esEs14(vyy3001, vyy401, ech, eda)
new_ltEs24(vyy213, vyy216, ty_Integer) → new_ltEs8(vyy213, vyy216)
new_compare0(:(vyy300, vyy301), [], cga) → GT
new_esEs6(vyy302, vyy42, ty_Char) → new_esEs21(vyy302, vyy42)
new_compare32(vyy300, vyy40, ty_Bool) → new_compare33(vyy300, vyy40)
new_esEs33(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_gtEs0(vyy390, vyy35, app(ty_Maybe, bbf)) → new_gtEs9(vyy390, vyy35, bbf)
new_ltEs22(vyy2222, vyy2232, app(ty_[], ffh)) → new_ltEs14(vyy2222, vyy2232, ffh)
new_lt19(vyy250, vyy252, ty_Char) → new_lt17(vyy250, vyy252)
new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, False, bac, bad, bae) → GT
new_lt19(vyy250, vyy252, app(ty_[], egc)) → new_lt15(vyy250, vyy252, egc)
new_esEs34(vyy250, vyy252, ty_Float) → new_esEs23(vyy250, vyy252)
new_ltEs24(vyy213, vyy216, ty_Bool) → new_ltEs6(vyy213, vyy216)
new_primMulInt(Neg(vyy3000), Neg(vyy400)) → Pos(new_primMulNat0(vyy3000, vyy400))
new_ltEs12(EQ, GT) → True
new_esEs12(Double(vyy3000, vyy3001), Double(vyy400, vyy401)) → new_esEs13(new_sr(vyy3000, vyy400), new_sr(vyy3001, vyy401))
new_primEqNat0(Succ(vyy30000), Zero) → False
new_primEqNat0(Zero, Succ(vyy4000)) → False
new_lt5(vyy2220, vyy2230, app(ty_[], dgg)) → new_lt15(vyy2220, vyy2230, dgg)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, app(app(app(ty_@3, bhe), bhf), bhg)) → new_esEs20(vyy3000, vyy400, bhe, bhf, bhg)
new_lt20(vyy2221, vyy2231, app(app(ty_Either, fhd), fhe)) → new_lt18(vyy2221, vyy2231, fhd, fhe)
new_esEs7(vyy301, vyy41, ty_@0) → new_esEs15(vyy301, vyy41)
new_esEs37(vyy2220, vyy2230, ty_Float) → new_esEs23(vyy2220, vyy2230)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Bool, fg) → new_ltEs6(vyy2220, vyy2230)
new_lt21(vyy2220, vyy2230, app(ty_Maybe, gac)) → new_lt14(vyy2220, vyy2230, gac)
new_esEs8(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_esEs27(vyy3000, vyy400, app(ty_Ratio, df)) → new_esEs22(vyy3000, vyy400, df)
new_ltEs8(vyy222, vyy223) → new_fsEs(new_compare8(vyy222, vyy223))
new_lt22(vyy211, vyy214, app(ty_Ratio, cbf)) → new_lt16(vyy211, vyy214, cbf)
new_esEs4(vyy301, vyy41, ty_Int) → new_esEs13(vyy301, vyy41)
new_esEs35(vyy3000, vyy400, ty_@0) → new_esEs15(vyy3000, vyy400)
new_primCmpInt(Pos(Zero), Neg(Succ(vyy400))) → GT
new_lt20(vyy2221, vyy2231, app(app(ty_@2, fgd), fge)) → new_lt6(vyy2221, vyy2231, fgd, fge)
new_gtEs5(vyy30, vyy4) → new_not(new_esEs40(new_compare17(vyy30, vyy4)))
new_lt5(vyy2220, vyy2230, ty_Integer) → new_lt9(vyy2220, vyy2230)
new_esEs19(LT, LT) → True
new_gtEs1(vyy30, vyy4, bdd, bde) → new_not(new_esEs40(new_compare31(vyy30, vyy4, bdd, bde)))
new_ltEs13(Just(vyy2220), Just(vyy2230), app(ty_Ratio, fa)) → new_ltEs15(vyy2220, vyy2230, fa)
new_ltEs22(vyy2222, vyy2232, app(ty_Ratio, fga)) → new_ltEs15(vyy2222, vyy2232, fga)
new_esEs16(Integer(vyy3000), Integer(vyy400)) → new_primEqInt(vyy3000, vyy400)
new_compare14(Nothing, Nothing, bch) → EQ
new_lt23(vyy212, vyy215, app(app(ty_@2, cdc), cdd)) → new_lt6(vyy212, vyy215, cdc, cdd)
new_ltEs24(vyy213, vyy216, app(ty_Ratio, cch)) → new_ltEs15(vyy213, vyy216, cch)
new_esEs35(vyy3000, vyy400, ty_Double) → new_esEs12(vyy3000, vyy400)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs24(vyy213, vyy216, ty_@0) → new_ltEs10(vyy213, vyy216)
new_lt19(vyy250, vyy252, ty_Ordering) → new_lt13(vyy250, vyy252)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, app(app(ty_@2, ha), hb)) → new_ltEs5(vyy2220, vyy2230, ha, hb)
new_esEs26(vyy3001, vyy401, app(app(app(ty_@3, bh), ca), cb)) → new_esEs20(vyy3001, vyy401, bh, ca, cb)
new_compare32(vyy300, vyy40, app(app(ty_@2, cgb), cgc)) → new_compare31(vyy300, vyy40, cgb, cgc)
new_asAs(False, vyy268) → False
new_esEs31(vyy3000, vyy400, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_primMulInt(Neg(vyy3000), Pos(vyy400)) → Neg(new_primMulNat0(vyy3000, vyy400))
new_primMulInt(Pos(vyy3000), Neg(vyy400)) → Neg(new_primMulNat0(vyy3000, vyy400))
new_compare110(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, False, vyy322, bac, bad, bae) → new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, vyy322, bac, bad, bae)
new_gtEs2(vyy30, vyy4) → new_not(new_esEs40(new_compare33(vyy30, vyy4)))
new_esEs10(vyy300, vyy40, app(ty_[], fab)) → new_esEs17(vyy300, vyy40, fab)
new_compare210(vyy241, vyy242, False, cee, cef) → new_compare15(vyy241, vyy242, new_ltEs23(vyy241, vyy242, cef), cee, cef)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(ty_[], eh)) → new_ltEs14(vyy2220, vyy2230, eh)
new_esEs36(vyy2221, vyy2231, ty_Int) → new_esEs13(vyy2221, vyy2231)
new_lt21(vyy2220, vyy2230, ty_Ordering) → new_lt13(vyy2220, vyy2230)
new_foldFM_GE3(vyy36, vyy37, vyy42, vyy35, h, ba) → new_eltsFM_GE0(vyy36, vyy37, vyy42, h, ba)
new_gtEs6(vyy30, vyy4) → new_not(new_esEs40(new_compare18(vyy30, vyy4)))
new_esEs39(vyy211, vyy214, app(app(ty_Either, cbg), cbh)) → new_esEs25(vyy211, vyy214, cbg, cbh)
new_esEs38(vyy212, vyy215, ty_Int) → new_esEs13(vyy212, vyy215)
new_ltEs22(vyy2222, vyy2232, app(app(ty_@2, ffb), ffc)) → new_ltEs5(vyy2222, vyy2232, ffb, ffc)
new_esEs38(vyy212, vyy215, ty_Integer) → new_esEs16(vyy212, vyy215)
new_ltEs21(vyy251, vyy253, app(ty_Ratio, ehe)) → new_ltEs15(vyy251, vyy253, ehe)
new_ltEs22(vyy2222, vyy2232, ty_Integer) → new_ltEs8(vyy2222, vyy2232)
new_esEs35(vyy3000, vyy400, app(app(app(ty_@3, fed), fee), fef)) → new_esEs20(vyy3000, vyy400, fed, fee, fef)
new_lt22(vyy211, vyy214, ty_Char) → new_lt17(vyy211, vyy214)
new_lt23(vyy212, vyy215, app(ty_[], cea)) → new_lt15(vyy212, vyy215, cea)
new_esEs18(Just(vyy3000), Just(vyy400), app(ty_Ratio, dac)) → new_esEs22(vyy3000, vyy400, dac)
new_esEs36(vyy2221, vyy2231, ty_Integer) → new_esEs16(vyy2221, vyy2231)
new_esEs36(vyy2221, vyy2231, app(app(ty_@2, fgd), fge)) → new_esEs14(vyy2221, vyy2231, fgd, fge)
new_ltEs18(vyy2221, vyy2231, app(ty_Maybe, dfd)) → new_ltEs13(vyy2221, vyy2231, dfd)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Integer, fg) → new_ltEs8(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Float) → new_ltEs11(vyy2220, vyy2230)
new_ltEs19(vyy234, vyy235, ty_Int) → new_ltEs16(vyy234, vyy235)
new_lt22(vyy211, vyy214, ty_Integer) → new_lt9(vyy211, vyy214)
new_lt23(vyy212, vyy215, app(app(app(ty_@3, cde), cdf), cdg)) → new_lt8(vyy212, vyy215, cde, cdf, cdg)
new_gtEs14(vyy30, vyy4, bcd, bce) → new_not(new_esEs40(new_compare30(vyy30, vyy4, bcd, bce)))
new_lt23(vyy212, vyy215, app(ty_Maybe, cdh)) → new_lt14(vyy212, vyy215, cdh)
new_esEs30(vyy3001, vyy401, ty_Int) → new_esEs13(vyy3001, vyy401)
new_esEs36(vyy2221, vyy2231, app(ty_Ratio, fhc)) → new_esEs22(vyy2221, vyy2231, fhc)
new_esEs28(vyy2220, vyy2230, app(ty_[], dgg)) → new_esEs17(vyy2220, vyy2230, dgg)
new_esEs10(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_lt8(vyy250, vyy252, efh, ega, egb) → new_esEs19(new_compare5(vyy250, vyy252, efh, ega, egb), LT)
new_ltEs12(EQ, LT) → False
new_compare32(vyy300, vyy40, ty_Char) → new_compare9(vyy300, vyy40)
new_compare33(True, True) → EQ
new_esEs25(Right(vyy3000), Right(vyy400), bfe, app(ty_Maybe, bhd)) → new_esEs18(vyy3000, vyy400, bhd)
new_esEs31(vyy3000, vyy400, app(app(ty_@2, eeb), eec)) → new_esEs14(vyy3000, vyy400, eeb, eec)
new_compare19(GT, EQ) → GT
new_esEs8(vyy300, vyy40, app(app(ty_@2, ddc), ddd)) → new_esEs14(vyy300, vyy40, ddc, ddd)
new_esEs7(vyy301, vyy41, ty_Double) → new_esEs12(vyy301, vyy41)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Int) → new_ltEs16(vyy2220, vyy2230)
new_lt19(vyy250, vyy252, ty_Integer) → new_lt9(vyy250, vyy252)
new_esEs39(vyy211, vyy214, app(ty_[], cbe)) → new_esEs17(vyy211, vyy214, cbe)
new_esEs10(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_esEs34(vyy250, vyy252, app(ty_Maybe, eag)) → new_esEs18(vyy250, vyy252, eag)
new_esEs31(vyy3000, vyy400, app(ty_Ratio, efa)) → new_esEs22(vyy3000, vyy400, efa)
new_esEs9(vyy300, vyy40, app(ty_[], fcf)) → new_esEs17(vyy300, vyy40, fcf)
new_esEs31(vyy3000, vyy400, app(ty_[], eed)) → new_esEs17(vyy3000, vyy400, eed)
new_compare27(vyy222, vyy223, True, eah) → EQ
new_esEs29(vyy3002, vyy402, ty_Integer) → new_esEs16(vyy3002, vyy402)
new_compare29(vyy250, vyy251, vyy252, vyy253, False, efd, efe) → new_compare11(vyy250, vyy251, vyy252, vyy253, new_lt19(vyy250, vyy252, efd), new_asAs(new_esEs34(vyy250, vyy252, efd), new_ltEs21(vyy251, vyy253, efe)), efd, efe)
new_esEs30(vyy3001, vyy401, app(app(ty_Either, edh), eea)) → new_esEs25(vyy3001, vyy401, edh, eea)
new_esEs39(vyy211, vyy214, ty_Integer) → new_esEs16(vyy211, vyy214)
new_esEs7(vyy301, vyy41, ty_Char) → new_esEs21(vyy301, vyy41)
new_esEs9(vyy300, vyy40, app(app(app(ty_@3, fch), fda), fdb)) → new_esEs20(vyy300, vyy40, fch, fda, fdb)
new_compare0([], :(vyy40, vyy41), cga) → LT
new_compare19(GT, LT) → GT
new_asAs(True, vyy268) → vyy268
new_ltEs22(vyy2222, vyy2232, ty_Float) → new_ltEs11(vyy2222, vyy2232)
new_ltEs22(vyy2222, vyy2232, ty_Bool) → new_ltEs6(vyy2222, vyy2232)
new_esEs7(vyy301, vyy41, app(ty_Ratio, dch)) → new_esEs22(vyy301, vyy41, dch)
new_esEs4(vyy301, vyy41, app(app(app(ty_@3, beb), bec), bed)) → new_esEs20(vyy301, vyy41, beb, bec, bed)
new_esEs34(vyy250, vyy252, ty_Int) → new_esEs13(vyy250, vyy252)
new_compare32(vyy300, vyy40, app(app(ty_Either, chb), chc)) → new_compare30(vyy300, vyy40, chb, chc)
new_esEs31(vyy3000, vyy400, app(app(ty_Either, efb), efc)) → new_esEs25(vyy3000, vyy400, efb, efc)
new_esEs9(vyy300, vyy40, app(ty_Ratio, fdc)) → new_esEs22(vyy300, vyy40, fdc)
new_esEs17([], [], beh) → True
new_esEs17([], :(vyy400, vyy401), beh) → False
new_esEs17(:(vyy3000, vyy3001), [], beh) → False
new_lt20(vyy2221, vyy2231, ty_@0) → new_lt11(vyy2221, vyy2231)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, app(app(ty_Either, caa), cab)) → new_esEs25(vyy3000, vyy400, caa, cab)
new_ltEs6(False, False) → True
new_esEs5(vyy300, vyy40, app(ty_[], beh)) → new_esEs17(vyy300, vyy40, beh)
new_esEs18(Just(vyy3000), Just(vyy400), app(app(ty_@2, chd), che)) → new_esEs14(vyy3000, vyy400, chd, che)
new_esEs38(vyy212, vyy215, app(ty_Ratio, ceb)) → new_esEs22(vyy212, vyy215, ceb)
new_lt20(vyy2221, vyy2231, ty_Double) → new_lt10(vyy2221, vyy2231)
new_esEs10(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_esEs32(vyy3001, vyy401, ty_Int) → new_esEs13(vyy3001, vyy401)
new_esEs34(vyy250, vyy252, ty_Ordering) → new_esEs19(vyy250, vyy252)
new_gtEs(vyy400, vyy35, ty_@0) → new_gtEs6(vyy400, vyy35)
new_ltEs24(vyy213, vyy216, ty_Ordering) → new_ltEs12(vyy213, vyy216)
new_ltEs12(GT, LT) → False
new_compare7(:%(vyy300, vyy301), :%(vyy40, vyy41), ty_Int) → new_compare6(new_sr(vyy300, vyy41), new_sr(vyy40, vyy301))
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Ordering) → new_ltEs12(vyy2220, vyy2230)
new_esEs5(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, True, bac, bad, bae) → LT
new_gtEs(vyy400, vyy35, app(app(ty_Either, bca), bcb)) → new_gtEs14(vyy400, vyy35, bca, bcb)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_ltEs20(vyy222, vyy223, ty_Char) → new_ltEs17(vyy222, vyy223)
new_esEs9(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_esEs36(vyy2221, vyy2231, app(app(app(ty_@3, fgf), fgg), fgh)) → new_esEs20(vyy2221, vyy2231, fgf, fgg, fgh)
new_compare19(LT, EQ) → LT
new_esEs30(vyy3001, vyy401, ty_Float) → new_esEs23(vyy3001, vyy401)
new_esEs5(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_not(True) → False
new_ltEs24(vyy213, vyy216, app(ty_[], ccg)) → new_ltEs14(vyy213, vyy216, ccg)
new_ltEs18(vyy2221, vyy2231, app(ty_Ratio, dff)) → new_ltEs15(vyy2221, vyy2231, dff)
new_ltEs19(vyy234, vyy235, ty_Ordering) → new_ltEs12(vyy234, vyy235)
new_esEs26(vyy3001, vyy401, ty_@0) → new_esEs15(vyy3001, vyy401)
new_compare32(vyy300, vyy40, app(ty_Ratio, cha)) → new_compare7(vyy300, vyy40, cha)
new_esEs28(vyy2220, vyy2230, ty_Char) → new_esEs21(vyy2220, vyy2230)
new_esEs36(vyy2221, vyy2231, app(ty_Maybe, fha)) → new_esEs18(vyy2221, vyy2231, fha)
new_compare32(vyy300, vyy40, ty_@0) → new_compare18(vyy300, vyy40)
new_compare9(Char(vyy300), Char(vyy40)) → new_primCmpNat0(vyy300, vyy40)
new_esEs29(vyy3002, vyy402, app(ty_Ratio, ece)) → new_esEs22(vyy3002, vyy402, ece)
new_gtEs0(vyy390, vyy35, ty_Bool) → new_gtEs2(vyy390, vyy35)
new_compare17(Double(vyy300, vyy301), Double(vyy40, vyy41)) → new_compare6(new_sr(vyy300, vyy40), new_sr(vyy301, vyy41))
new_esEs40(GT) → False
new_esEs34(vyy250, vyy252, app(ty_[], egc)) → new_esEs17(vyy250, vyy252, egc)
new_gtEs(vyy400, vyy35, ty_Ordering) → new_gtEs8(vyy400, vyy35)
new_esEs39(vyy211, vyy214, app(ty_Ratio, cbf)) → new_esEs22(vyy211, vyy214, cbf)
new_compare15(vyy290, vyy291, True, ebd, ebe) → LT
new_esEs5(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_ltEs12(LT, GT) → True
new_lt22(vyy211, vyy214, ty_Int) → new_lt4(vyy211, vyy214)
new_compare26(vyy234, vyy235, False, dhc, dhd) → new_compare13(vyy234, vyy235, new_ltEs19(vyy234, vyy235, dhc), dhc, dhd)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Char, bff) → new_esEs21(vyy3000, vyy400)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs8(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs6(vyy302, vyy42, app(app(app(ty_@3, dbc), dbd), dbe)) → new_esEs20(vyy302, vyy42, dbc, dbd, dbe)
new_esEs6(vyy302, vyy42, ty_Integer) → new_esEs16(vyy302, vyy42)
new_lt19(vyy250, vyy252, app(app(ty_Either, egd), ege)) → new_lt18(vyy250, vyy252, egd, ege)
new_foldFM_GE10(vyy34, vyy35, vyy36, vyy37, vyy38, EmptyFM, vyy40, True, h, ba) → new_foldFM_GE3(vyy36, vyy37, new_foldFM_GE0(vyy34, vyy35, vyy40, h, ba), vyy35, h, ba)
new_esEs27(vyy3000, vyy400, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_esEs34(vyy250, vyy252, app(app(app(ty_@3, efh), ega), egb)) → new_esEs20(vyy250, vyy252, efh, ega, egb)
new_esEs10(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_lt12(vyy250, vyy252) → new_esEs19(new_compare28(vyy250, vyy252), LT)
new_lt19(vyy250, vyy252, ty_Int) → new_lt4(vyy250, vyy252)
new_lt21(vyy2220, vyy2230, app(app(ty_@2, fhf), fhg)) → new_lt6(vyy2220, vyy2230, fhf, fhg)
new_primMulNat0(Zero, Zero) → Zero
new_primCompAux0(vyy300, vyy40, vyy191, cga) → new_primCompAux00(vyy191, new_compare32(vyy300, vyy40, cga))
new_ltEs18(vyy2221, vyy2231, ty_Bool) → new_ltEs6(vyy2221, vyy2231)
new_esEs4(vyy301, vyy41, ty_Char) → new_esEs21(vyy301, vyy41)
new_ltEs19(vyy234, vyy235, ty_Double) → new_ltEs9(vyy234, vyy235)
new_lt22(vyy211, vyy214, app(ty_Maybe, cbd)) → new_lt14(vyy211, vyy214, cbd)
new_esEs34(vyy250, vyy252, app(ty_Ratio, bah)) → new_esEs22(vyy250, vyy252, bah)
new_ltEs13(Nothing, Just(vyy2230), ea) → True
new_foldFM_GE0(vyy34, vyy35, Branch(vyy400, vyy401, vyy402, vyy403, vyy404), h, ba) → new_foldFM_GE10(vyy34, vyy35, vyy400, vyy401, vyy402, vyy403, vyy404, new_gtEs(vyy400, vyy35, ba), h, ba)
new_lt5(vyy2220, vyy2230, ty_@0) → new_lt11(vyy2220, vyy2230)
new_esEs8(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_esEs11(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs26(vyy3001, vyy401, app(app(ty_Either, cd), ce)) → new_esEs25(vyy3001, vyy401, cd, ce)
new_lt5(vyy2220, vyy2230, ty_Ordering) → new_lt13(vyy2220, vyy2230)
new_esEs28(vyy2220, vyy2230, app(app(ty_Either, dha), dhb)) → new_esEs25(vyy2220, vyy2230, dha, dhb)
new_esEs4(vyy301, vyy41, app(ty_Ratio, bee)) → new_esEs22(vyy301, vyy41, bee)
new_esEs11(vyy300, vyy40, app(ty_[], fbd)) → new_esEs17(vyy300, vyy40, fbd)
new_gtEs(vyy400, vyy35, app(app(ty_@2, bba), bbb)) → new_gtEs1(vyy400, vyy35, bba, bbb)
new_esEs37(vyy2220, vyy2230, app(app(app(ty_@3, fhh), gaa), gab)) → new_esEs20(vyy2220, vyy2230, fhh, gaa, gab)
new_esEs6(vyy302, vyy42, ty_Ordering) → new_esEs19(vyy302, vyy42)
new_esEs34(vyy250, vyy252, ty_@0) → new_esEs15(vyy250, vyy252)
new_ltEs23(vyy241, vyy242, app(app(ty_Either, cfg), cfh)) → new_ltEs4(vyy241, vyy242, cfg, cfh)
new_esEs6(vyy302, vyy42, app(ty_Maybe, dbb)) → new_esEs18(vyy302, vyy42, dbb)
new_ltEs23(vyy241, vyy242, app(app(app(ty_@3, cfa), cfb), cfc)) → new_ltEs7(vyy241, vyy242, cfa, cfb, cfc)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(app(ty_Either, fb), fc)) → new_ltEs4(vyy2220, vyy2230, fb, fc)
new_esEs39(vyy211, vyy214, app(ty_Maybe, cbd)) → new_esEs18(vyy211, vyy214, cbd)
new_esEs8(vyy300, vyy40, app(app(ty_Either, dec), ded)) → new_esEs25(vyy300, vyy40, dec, ded)
new_esEs30(vyy3001, vyy401, ty_Ordering) → new_esEs19(vyy3001, vyy401)
new_esEs9(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_ltEs24(vyy213, vyy216, ty_Double) → new_ltEs9(vyy213, vyy216)
new_esEs35(vyy3000, vyy400, ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs25(Left(vyy3000), Left(vyy400), app(ty_[], bga), bff) → new_esEs17(vyy3000, vyy400, bga)
new_esEs9(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_esEs28(vyy2220, vyy2230, ty_Ordering) → new_esEs19(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Bool) → new_ltEs6(vyy2220, vyy2230)
new_esEs7(vyy301, vyy41, ty_Float) → new_esEs23(vyy301, vyy41)
new_esEs38(vyy212, vyy215, ty_Ordering) → new_esEs19(vyy212, vyy215)
new_esEs26(vyy3001, vyy401, app(ty_Maybe, bg)) → new_esEs18(vyy3001, vyy401, bg)
new_esEs39(vyy211, vyy214, ty_@0) → new_esEs15(vyy211, vyy214)
new_ltEs22(vyy2222, vyy2232, app(ty_Maybe, ffg)) → new_ltEs13(vyy2222, vyy2232, ffg)
new_esEs9(vyy300, vyy40, app(app(ty_@2, fcd), fce)) → new_esEs14(vyy300, vyy40, fcd, fce)
new_gtEs0(vyy390, vyy35, app(app(ty_Either, bca), bcb)) → new_gtEs14(vyy390, vyy35, bca, bcb)
new_ltEs22(vyy2222, vyy2232, ty_Ordering) → new_ltEs12(vyy2222, vyy2232)
new_gtEs(vyy400, vyy35, ty_Char) → new_gtEs13(vyy400, vyy35)
new_esEs11(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_ltEs20(vyy222, vyy223, ty_@0) → new_ltEs10(vyy222, vyy223)
new_esEs8(vyy300, vyy40, app(ty_Ratio, deb)) → new_esEs22(vyy300, vyy40, deb)
new_compare12(vyy300, vyy301, vyy302, vyy303, False, baf, bag) → GT
new_lt22(vyy211, vyy214, app(app(ty_@2, cag), cah)) → new_lt6(vyy211, vyy214, cag, cah)
new_lt19(vyy250, vyy252, app(ty_Maybe, eag)) → new_lt14(vyy250, vyy252, eag)
new_esEs30(vyy3001, vyy401, ty_Integer) → new_esEs16(vyy3001, vyy401)
new_esEs22(:%(vyy3000, vyy3001), :%(vyy400, vyy401), bcg) → new_asAs(new_esEs33(vyy3000, vyy400, bcg), new_esEs32(vyy3001, vyy401, bcg))
new_esEs27(vyy3000, vyy400, app(ty_[], da)) → new_esEs17(vyy3000, vyy400, da)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(ty_Maybe, gc), fg) → new_ltEs13(vyy2220, vyy2230, gc)
new_esEs26(vyy3001, vyy401, ty_Bool) → new_esEs24(vyy3001, vyy401)
new_esEs39(vyy211, vyy214, ty_Double) → new_esEs12(vyy211, vyy214)
new_esEs32(vyy3001, vyy401, ty_Integer) → new_esEs16(vyy3001, vyy401)
new_ltEs4(Left(vyy2220), Right(vyy2230), gh, fg) → True
new_lt23(vyy212, vyy215, ty_Float) → new_lt12(vyy212, vyy215)
new_lt5(vyy2220, vyy2230, ty_Float) → new_lt12(vyy2220, vyy2230)
new_ltEs20(vyy222, vyy223, ty_Ordering) → new_ltEs12(vyy222, vyy223)
new_primCmpNat0(Zero, Succ(vyy400)) → LT
new_esEs26(vyy3001, vyy401, app(app(ty_@2, bd), be)) → new_esEs14(vyy3001, vyy401, bd, be)
new_esEs26(vyy3001, vyy401, ty_Double) → new_esEs12(vyy3001, vyy401)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, app(ty_Ratio, bhh)) → new_esEs22(vyy3000, vyy400, bhh)
new_compare25(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, False, cad, cae, caf) → new_compare110(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, new_lt22(vyy211, vyy214, cad), new_asAs(new_esEs39(vyy211, vyy214, cad), new_pePe(new_lt23(vyy212, vyy215, cae), new_asAs(new_esEs38(vyy212, vyy215, cae), new_ltEs24(vyy213, vyy216, caf)))), cad, cae, caf)
new_esEs8(vyy300, vyy40, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs20(vyy300, vyy40, ddg, ddh, dea)
new_esEs5(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, app(ty_[], bhc)) → new_esEs17(vyy3000, vyy400, bhc)
new_lt6(vyy250, vyy252, eff, efg) → new_esEs19(new_compare31(vyy250, vyy252, eff, efg), LT)
new_esEs9(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_esEs29(vyy3002, vyy402, ty_Ordering) → new_esEs19(vyy3002, vyy402)
new_ltEs22(vyy2222, vyy2232, ty_Char) → new_ltEs17(vyy2222, vyy2232)
new_esEs20(@3(vyy3000, vyy3001, vyy3002), @3(vyy400, vyy401, vyy402), bfb, bfc, bfd) → new_asAs(new_esEs31(vyy3000, vyy400, bfb), new_asAs(new_esEs30(vyy3001, vyy401, bfc), new_esEs29(vyy3002, vyy402, bfd)))
new_ltEs4(Left(vyy2220), Left(vyy2230), app(ty_[], gd), fg) → new_ltEs14(vyy2220, vyy2230, gd)
new_compare31(@2(vyy300, vyy301), @2(vyy40, vyy41), bdd, bde) → new_compare29(vyy300, vyy301, vyy40, vyy41, new_asAs(new_esEs5(vyy300, vyy40, bdd), new_esEs4(vyy301, vyy41, bde)), bdd, bde)
new_lt22(vyy211, vyy214, ty_Double) → new_lt10(vyy211, vyy214)
new_esEs11(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_compare110(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, True, vyy322, bac, bad, bae) → new_compare10(vyy315, vyy316, vyy317, vyy318, vyy319, vyy320, True, bac, bad, bae)
new_compare33(False, False) → EQ
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Bool) → new_ltEs6(vyy2220, vyy2230)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Double) → new_ltEs9(vyy2220, vyy2230)
new_lt21(vyy2220, vyy2230, ty_Bool) → new_lt7(vyy2220, vyy2230)
new_lt11(vyy250, vyy252) → new_esEs19(new_compare18(vyy250, vyy252), LT)
new_esEs35(vyy3000, vyy400, app(app(ty_Either, feh), ffa)) → new_esEs25(vyy3000, vyy400, feh, ffa)
new_sr(vyy300, vyy40) → new_primMulInt(vyy300, vyy40)
new_esEs29(vyy3002, vyy402, ty_Float) → new_esEs23(vyy3002, vyy402)
new_esEs26(vyy3001, vyy401, ty_Ordering) → new_esEs19(vyy3001, vyy401)
new_compare14(Just(vyy300), Nothing, bch) → GT
new_esEs29(vyy3002, vyy402, app(app(ty_Either, ecf), ecg)) → new_esEs25(vyy3002, vyy402, ecf, ecg)
new_esEs5(vyy300, vyy40, app(ty_Ratio, bcg)) → new_esEs22(vyy300, vyy40, bcg)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Ordering) → new_ltEs12(vyy2220, vyy2230)
new_compare11(vyy300, vyy301, vyy302, vyy303, False, vyy305, baf, bag) → new_compare12(vyy300, vyy301, vyy302, vyy303, vyy305, baf, bag)
new_esEs38(vyy212, vyy215, app(ty_[], cea)) → new_esEs17(vyy212, vyy215, cea)
new_gtEs(vyy400, vyy35, app(ty_Ratio, bbh)) → new_gtEs11(vyy400, vyy35, bbh)
new_esEs10(vyy300, vyy40, app(app(app(ty_@3, fad), fae), faf)) → new_esEs20(vyy300, vyy40, fad, fae, faf)
new_ltEs23(vyy241, vyy242, ty_Ordering) → new_ltEs12(vyy241, vyy242)
new_ltEs22(vyy2222, vyy2232, ty_@0) → new_ltEs10(vyy2222, vyy2232)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_@0, fg) → new_ltEs10(vyy2220, vyy2230)
new_compare19(EQ, GT) → LT
new_esEs27(vyy3000, vyy400, app(app(ty_@2, cf), cg)) → new_esEs14(vyy3000, vyy400, cf, cg)
new_ltEs20(vyy222, vyy223, ty_Int) → new_ltEs16(vyy222, vyy223)
new_esEs10(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_ltEs19(vyy234, vyy235, ty_Integer) → new_ltEs8(vyy234, vyy235)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Float, bff) → new_esEs23(vyy3000, vyy400)
new_esEs5(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_compare16(vyy273, vyy274, True, cac) → LT
new_esEs9(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs14(@2(vyy3000, vyy3001), @2(vyy400, vyy401), bb, bc) → new_asAs(new_esEs27(vyy3000, vyy400, bb), new_esEs26(vyy3001, vyy401, bc))
new_lt19(vyy250, vyy252, ty_Bool) → new_lt7(vyy250, vyy252)
new_esEs29(vyy3002, vyy402, app(ty_Maybe, eca)) → new_esEs18(vyy3002, vyy402, eca)
new_esEs25(Left(vyy3000), Left(vyy400), app(ty_Maybe, bgb), bff) → new_esEs18(vyy3000, vyy400, bgb)
new_esEs8(vyy300, vyy40, ty_@0) → new_esEs15(vyy300, vyy40)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Float) → new_ltEs11(vyy2220, vyy2230)
new_esEs7(vyy301, vyy41, ty_Integer) → new_esEs16(vyy301, vyy41)
new_lt20(vyy2221, vyy2231, ty_Int) → new_lt4(vyy2221, vyy2231)
new_lt21(vyy2220, vyy2230, app(ty_[], gad)) → new_lt15(vyy2220, vyy2230, gad)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Double, fg) → new_ltEs9(vyy2220, vyy2230)
new_lt22(vyy211, vyy214, ty_Ordering) → new_lt13(vyy211, vyy214)
new_lt23(vyy212, vyy215, ty_Bool) → new_lt7(vyy212, vyy215)
new_lt5(vyy2220, vyy2230, ty_Int) → new_lt4(vyy2220, vyy2230)
new_primEqInt(Neg(Zero), Neg(Succ(vyy4000))) → False
new_primEqInt(Neg(Succ(vyy30000)), Neg(Zero)) → False
new_esEs26(vyy3001, vyy401, ty_Float) → new_esEs23(vyy3001, vyy401)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(app(ty_Either, gf), gg), fg) → new_ltEs4(vyy2220, vyy2230, gf, gg)
new_lt5(vyy2220, vyy2230, app(app(app(ty_@3, dgc), dgd), dge)) → new_lt8(vyy2220, vyy2230, dgc, dgd, dge)
new_esEs37(vyy2220, vyy2230, ty_Bool) → new_esEs24(vyy2220, vyy2230)
new_esEs7(vyy301, vyy41, ty_Ordering) → new_esEs19(vyy301, vyy41)
new_foldFM_GE20(vyy36, vyy37, vyy43, vyy35, vyy390, vyy391, vyy392, vyy393, vyy394, h, ba) → new_foldFM_GE10(new_eltsFM_GE0(vyy36, vyy37, vyy43, h, ba), vyy35, vyy390, vyy391, vyy392, vyy393, vyy394, new_gtEs0(vyy390, vyy35, ba), h, ba)
new_lt10(vyy250, vyy252) → new_esEs19(new_compare17(vyy250, vyy252), LT)
new_esEs28(vyy2220, vyy2230, ty_Int) → new_esEs13(vyy2220, vyy2230)
new_ltEs24(vyy213, vyy216, ty_Int) → new_ltEs16(vyy213, vyy216)
new_ltEs19(vyy234, vyy235, ty_Char) → new_ltEs17(vyy234, vyy235)
new_ltEs21(vyy251, vyy253, app(app(ty_Either, ehf), ehg)) → new_ltEs4(vyy251, vyy253, ehf, ehg)
new_esEs10(vyy300, vyy40, app(app(ty_Either, fah), fba)) → new_esEs25(vyy300, vyy40, fah, fba)
new_esEs34(vyy250, vyy252, ty_Char) → new_esEs21(vyy250, vyy252)
new_esEs35(vyy3000, vyy400, app(ty_[], feb)) → new_esEs17(vyy3000, vyy400, feb)
new_esEs34(vyy250, vyy252, app(app(ty_Either, egd), ege)) → new_esEs25(vyy250, vyy252, egd, ege)
new_esEs10(vyy300, vyy40, ty_Double) → new_esEs12(vyy300, vyy40)
new_primCmpNat0(Succ(vyy3000), Succ(vyy400)) → new_primCmpNat0(vyy3000, vyy400)
new_ltEs13(Just(vyy2220), Just(vyy2230), ty_Integer) → new_ltEs8(vyy2220, vyy2230)
new_esEs30(vyy3001, vyy401, ty_@0) → new_esEs15(vyy3001, vyy401)
new_esEs26(vyy3001, vyy401, ty_Integer) → new_esEs16(vyy3001, vyy401)
new_esEs34(vyy250, vyy252, ty_Double) → new_esEs12(vyy250, vyy252)
new_ltEs19(vyy234, vyy235, app(app(app(ty_@3, dhg), dhh), eaa)) → new_ltEs7(vyy234, vyy235, dhg, dhh, eaa)
new_esEs27(vyy3000, vyy400, ty_Bool) → new_esEs24(vyy3000, vyy400)
new_esEs36(vyy2221, vyy2231, ty_Float) → new_esEs23(vyy2221, vyy2231)
new_ltEs6(False, True) → True
new_esEs37(vyy2220, vyy2230, app(app(ty_Either, gaf), gag)) → new_esEs25(vyy2220, vyy2230, gaf, gag)
new_lt23(vyy212, vyy215, ty_Ordering) → new_lt13(vyy212, vyy215)
new_esEs26(vyy3001, vyy401, ty_Int) → new_esEs13(vyy3001, vyy401)
new_ltEs6(True, True) → True
new_lt22(vyy211, vyy214, ty_Bool) → new_lt7(vyy211, vyy214)
new_compare32(vyy300, vyy40, ty_Float) → new_compare28(vyy300, vyy40)
new_esEs38(vyy212, vyy215, app(app(ty_@2, cdc), cdd)) → new_esEs14(vyy212, vyy215, cdc, cdd)
new_ltEs19(vyy234, vyy235, app(ty_[], eac)) → new_ltEs14(vyy234, vyy235, eac)
new_foldFM_GE10(vyy34, vyy35, vyy36, vyy37, vyy38, Branch(vyy390, vyy391, vyy392, vyy393, vyy394), vyy40, True, h, ba) → new_foldFM_GE20(vyy36, vyy37, new_foldFM_GE0(vyy34, vyy35, vyy40, h, ba), vyy35, vyy390, vyy391, vyy392, vyy393, vyy394, h, ba)
new_lt19(vyy250, vyy252, app(app(ty_@2, eff), efg)) → new_lt6(vyy250, vyy252, eff, efg)
new_primCompAux00(vyy228, LT) → LT
new_esEs9(vyy300, vyy40, app(ty_Maybe, fcg)) → new_esEs18(vyy300, vyy40, fcg)
new_gtEs0(vyy390, vyy35, app(app(ty_@2, bba), bbb)) → new_gtEs1(vyy390, vyy35, bba, bbb)
new_ltEs18(vyy2221, vyy2231, app(app(ty_@2, deg), deh)) → new_ltEs5(vyy2221, vyy2231, deg, deh)
new_lt15(vyy250, vyy252, egc) → new_esEs19(new_compare0(vyy250, vyy252, egc), LT)
new_esEs4(vyy301, vyy41, app(app(ty_@2, bdf), bdg)) → new_esEs14(vyy301, vyy41, bdf, bdg)
new_primEqInt(Pos(Zero), Pos(Succ(vyy4000))) → False
new_primEqInt(Pos(Succ(vyy30000)), Pos(Zero)) → False
new_foldFM_GE10(vyy34, vyy35, vyy36, vyy37, vyy38, vyy39, vyy40, False, h, ba) → new_foldFM_GE0(vyy34, vyy35, vyy40, h, ba)
new_esEs39(vyy211, vyy214, ty_Int) → new_esEs13(vyy211, vyy214)
new_esEs26(vyy3001, vyy401, ty_Char) → new_esEs21(vyy3001, vyy401)
new_primPlusNat0(Zero, Succ(vyy40000)) → Succ(vyy40000)
new_primPlusNat0(Succ(vyy33000), Zero) → Succ(vyy33000)
new_esEs5(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_compare25(vyy211, vyy212, vyy213, vyy214, vyy215, vyy216, True, cad, cae, caf) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_esEs38(vyy212, vyy215, ty_Bool) → new_esEs24(vyy212, vyy215)
new_primCmpNat0(Succ(vyy3000), Zero) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(vyy400))) → LT
new_esEs4(vyy301, vyy41, ty_Float) → new_esEs23(vyy301, vyy41)
new_compare33(True, False) → GT
new_gtEs0(vyy390, vyy35, app(ty_[], bbg)) → new_gtEs10(vyy390, vyy35, bbg)
new_sr0(Integer(vyy3000), Integer(vyy410)) → Integer(new_primMulInt(vyy3000, vyy410))
new_esEs28(vyy2220, vyy2230, app(ty_Ratio, dgh)) → new_esEs22(vyy2220, vyy2230, dgh)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(ty_Ratio, ge), fg) → new_ltEs15(vyy2220, vyy2230, ge)
new_foldFM_GE0(vyy34, vyy35, EmptyFM, h, ba) → vyy34
new_esEs39(vyy211, vyy214, ty_Bool) → new_esEs24(vyy211, vyy214)
new_primEqInt(Neg(Succ(vyy30000)), Pos(vyy400)) → False
new_primEqInt(Pos(Succ(vyy30000)), Neg(vyy400)) → False
new_lt14(vyy250, vyy252, eag) → new_esEs19(new_compare14(vyy250, vyy252, eag), LT)
new_ltEs24(vyy213, vyy216, app(app(app(ty_@3, ccc), ccd), cce)) → new_ltEs7(vyy213, vyy216, ccc, ccd, cce)
new_compare30(Right(vyy300), Right(vyy40), bcd, bce) → new_compare210(vyy300, vyy40, new_esEs11(vyy300, vyy40, bce), bcd, bce)
new_compare30(Left(vyy300), Right(vyy40), bcd, bce) → LT
new_gtEs(vyy400, vyy35, app(ty_Maybe, bbf)) → new_gtEs9(vyy400, vyy35, bbf)
new_esEs25(Left(vyy3000), Left(vyy400), ty_@0, bff) → new_esEs15(vyy3000, vyy400)
new_esEs8(vyy300, vyy40, ty_Float) → new_esEs23(vyy300, vyy40)
new_lt21(vyy2220, vyy2230, ty_Char) → new_lt17(vyy2220, vyy2230)
new_esEs6(vyy302, vyy42, app(app(ty_Either, dbg), dbh)) → new_esEs25(vyy302, vyy42, dbg, dbh)
new_esEs4(vyy301, vyy41, app(app(ty_Either, bef), beg)) → new_esEs25(vyy301, vyy41, bef, beg)
new_esEs29(vyy3002, vyy402, ty_Double) → new_esEs12(vyy3002, vyy402)
new_ltEs16(vyy222, vyy223) → new_fsEs(new_compare6(vyy222, vyy223))
new_esEs31(vyy3000, vyy400, ty_Int) → new_esEs13(vyy3000, vyy400)
new_esEs6(vyy302, vyy42, ty_Float) → new_esEs23(vyy302, vyy42)
new_esEs4(vyy301, vyy41, app(ty_[], bdh)) → new_esEs17(vyy301, vyy41, bdh)
new_esEs28(vyy2220, vyy2230, app(app(ty_@2, dga), dgb)) → new_esEs14(vyy2220, vyy2230, dga, dgb)
new_ltEs23(vyy241, vyy242, ty_Int) → new_ltEs16(vyy241, vyy242)
new_esEs38(vyy212, vyy215, app(app(app(ty_@3, cde), cdf), cdg)) → new_esEs20(vyy212, vyy215, cde, cdf, cdg)
new_esEs11(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_ltEs4(Right(vyy2220), Left(vyy2230), gh, fg) → False
new_esEs6(vyy302, vyy42, app(app(ty_@2, dag), dah)) → new_esEs14(vyy302, vyy42, dag, dah)
new_esEs30(vyy3001, vyy401, app(app(app(ty_@3, edd), ede), edf)) → new_esEs20(vyy3001, vyy401, edd, ede, edf)
new_primCmpInt(Pos(Succ(vyy3000)), Pos(vyy40)) → new_primCmpNat0(Succ(vyy3000), vyy40)
new_compare210(vyy241, vyy242, True, cee, cef) → EQ
new_esEs8(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_esEs18(Just(vyy3000), Just(vyy400), ty_@0) → new_esEs15(vyy3000, vyy400)
new_esEs29(vyy3002, vyy402, app(ty_[], ebh)) → new_esEs17(vyy3002, vyy402, ebh)
new_compare29(vyy250, vyy251, vyy252, vyy253, True, efd, efe) → EQ
new_ltEs23(vyy241, vyy242, app(ty_[], cfe)) → new_ltEs14(vyy241, vyy242, cfe)
new_esEs31(vyy3000, vyy400, ty_@0) → new_esEs15(vyy3000, vyy400)
new_lt5(vyy2220, vyy2230, ty_Bool) → new_lt7(vyy2220, vyy2230)
new_esEs11(vyy300, vyy40, ty_Char) → new_esEs21(vyy300, vyy40)
new_esEs7(vyy301, vyy41, app(ty_[], dcc)) → new_esEs17(vyy301, vyy41, dcc)
new_ltEs22(vyy2222, vyy2232, app(app(app(ty_@3, ffd), ffe), fff)) → new_ltEs7(vyy2222, vyy2232, ffd, ffe, fff)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs11(vyy300, vyy40, app(ty_Ratio, fca)) → new_esEs22(vyy300, vyy40, fca)
new_esEs18(Just(vyy3000), Just(vyy400), app(app(app(ty_@3, chh), daa), dab)) → new_esEs20(vyy3000, vyy400, chh, daa, dab)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Integer) → new_esEs16(vyy3000, vyy400)
new_esEs30(vyy3001, vyy401, app(ty_[], edb)) → new_esEs17(vyy3001, vyy401, edb)
new_lt23(vyy212, vyy215, ty_Int) → new_lt4(vyy212, vyy215)
new_primCmpInt(Pos(Succ(vyy3000)), Neg(vyy40)) → GT
new_lt23(vyy212, vyy215, ty_@0) → new_lt11(vyy212, vyy215)
new_esEs27(vyy3000, vyy400, ty_@0) → new_esEs15(vyy3000, vyy400)
new_primMulInt(Pos(vyy3000), Pos(vyy400)) → Pos(new_primMulNat0(vyy3000, vyy400))
new_esEs36(vyy2221, vyy2231, app(app(ty_Either, fhd), fhe)) → new_esEs25(vyy2221, vyy2231, fhd, fhe)
new_esEs38(vyy212, vyy215, ty_Char) → new_esEs21(vyy212, vyy215)
new_primPlusNat0(Zero, Zero) → Zero
new_compare30(Left(vyy300), Left(vyy40), bcd, bce) → new_compare26(vyy300, vyy40, new_esEs10(vyy300, vyy40, bcd), bcd, bce)
new_esEs35(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs9(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_esEs11(vyy300, vyy40, app(app(app(ty_@3, fbf), fbg), fbh)) → new_esEs20(vyy300, vyy40, fbf, fbg, fbh)
new_esEs8(vyy300, vyy40, app(ty_Maybe, ddf)) → new_esEs18(vyy300, vyy40, ddf)
new_esEs25(Left(vyy3000), Left(vyy400), ty_Double, bff) → new_esEs12(vyy3000, vyy400)
new_esEs27(vyy3000, vyy400, ty_Integer) → new_esEs16(vyy3000, vyy400)
new_esEs9(vyy300, vyy40, ty_Ordering) → new_esEs19(vyy300, vyy40)
new_esEs9(vyy300, vyy40, app(app(ty_Either, fdd), fde)) → new_esEs25(vyy300, vyy40, fdd, fde)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(app(app(ty_@3, fh), ga), gb), fg) → new_ltEs7(vyy2220, vyy2230, fh, ga, gb)
new_primPlusNat1(Succ(vyy3300), vyy4000) → Succ(Succ(new_primPlusNat0(vyy3300, vyy4000)))
new_gtEs0(vyy390, vyy35, ty_Ordering) → new_gtEs8(vyy390, vyy35)
new_ltEs24(vyy213, vyy216, app(ty_Maybe, ccf)) → new_ltEs13(vyy213, vyy216, ccf)
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, app(ty_Ratio, hh)) → new_ltEs15(vyy2220, vyy2230, hh)
new_primCmpInt(Neg(Zero), Neg(Succ(vyy400))) → new_primCmpNat0(Succ(vyy400), Zero)
new_compare19(LT, GT) → LT
new_esEs29(vyy3002, vyy402, ty_@0) → new_esEs15(vyy3002, vyy402)
new_esEs39(vyy211, vyy214, app(app(ty_@2, cag), cah)) → new_esEs14(vyy211, vyy214, cag, cah)
new_esEs25(Left(vyy3000), Left(vyy400), app(app(ty_@2, bfg), bfh), bff) → new_esEs14(vyy3000, vyy400, bfg, bfh)
new_esEs39(vyy211, vyy214, app(app(app(ty_@3, cba), cbb), cbc)) → new_esEs20(vyy211, vyy214, cba, cbb, cbc)
new_compare15(vyy290, vyy291, False, ebd, ebe) → GT
new_lt9(vyy250, vyy252) → new_esEs19(new_compare8(vyy250, vyy252), LT)
new_esEs31(vyy3000, vyy400, ty_Double) → new_esEs12(vyy3000, vyy400)
new_gtEs9(vyy30, vyy4, bch) → new_not(new_esEs40(new_compare14(vyy30, vyy4, bch)))
new_esEs34(vyy250, vyy252, ty_Bool) → new_esEs24(vyy250, vyy252)
new_esEs10(vyy300, vyy40, app(ty_Ratio, fag)) → new_esEs22(vyy300, vyy40, fag)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_ltEs21(vyy251, vyy253, ty_Integer) → new_ltEs8(vyy251, vyy253)
new_ltEs13(Just(vyy2220), Just(vyy2230), app(ty_Maybe, eg)) → new_ltEs13(vyy2220, vyy2230, eg)
new_ltEs24(vyy213, vyy216, ty_Char) → new_ltEs17(vyy213, vyy216)
new_ltEs5(@2(vyy2220, vyy2221), @2(vyy2230, vyy2231), dee, def) → new_pePe(new_lt5(vyy2220, vyy2230, dee), new_asAs(new_esEs28(vyy2220, vyy2230, dee), new_ltEs18(vyy2221, vyy2231, def)))
new_esEs37(vyy2220, vyy2230, app(app(ty_@2, fhf), fhg)) → new_esEs14(vyy2220, vyy2230, fhf, fhg)
new_esEs36(vyy2221, vyy2231, ty_Double) → new_esEs12(vyy2221, vyy2231)
new_ltEs13(Just(vyy2220), Nothing, ea) → False
new_ltEs23(vyy241, vyy242, ty_Bool) → new_ltEs6(vyy241, vyy242)
new_lt20(vyy2221, vyy2231, app(ty_[], fhb)) → new_lt15(vyy2221, vyy2231, fhb)
new_esEs15(@0, @0) → True
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Integer) → new_ltEs8(vyy2220, vyy2230)
new_esEs40(LT) → True
new_esEs11(vyy300, vyy40, app(app(ty_@2, fbb), fbc)) → new_esEs14(vyy300, vyy40, fbb, fbc)
new_esEs37(vyy2220, vyy2230, ty_Char) → new_esEs21(vyy2220, vyy2230)
new_esEs28(vyy2220, vyy2230, ty_Float) → new_esEs23(vyy2220, vyy2230)
new_esEs24(True, True) → True
new_gtEs13(vyy30, vyy4) → new_not(new_esEs40(new_compare9(vyy30, vyy4)))
new_primMulNat0(Succ(vyy30000), Zero) → Zero
new_primMulNat0(Zero, Succ(vyy4000)) → Zero
new_lt19(vyy250, vyy252, ty_Float) → new_lt12(vyy250, vyy252)
new_gtEs0(vyy390, vyy35, ty_Double) → new_gtEs5(vyy390, vyy35)
new_compare14(Just(vyy300), Just(vyy40), bch) → new_compare27(vyy300, vyy40, new_esEs9(vyy300, vyy40, bch), bch)
new_esEs31(vyy3000, vyy400, ty_Ordering) → new_esEs19(vyy3000, vyy400)
new_esEs39(vyy211, vyy214, ty_Float) → new_esEs23(vyy211, vyy214)
new_lt17(vyy250, vyy252) → new_esEs19(new_compare9(vyy250, vyy252), LT)
new_esEs18(Nothing, Just(vyy400), bfa) → False
new_esEs18(Just(vyy3000), Nothing, bfa) → False
new_ltEs12(GT, GT) → True
new_ltEs4(Right(vyy2220), Right(vyy2230), gh, ty_Int) → new_ltEs16(vyy2220, vyy2230)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Bool) → new_esEs24(vyy3000, vyy400)
new_ltEs20(vyy222, vyy223, ty_Bool) → new_ltEs6(vyy222, vyy223)
new_ltEs23(vyy241, vyy242, ty_Double) → new_ltEs9(vyy241, vyy242)
new_ltEs19(vyy234, vyy235, ty_@0) → new_ltEs10(vyy234, vyy235)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Ordering, fg) → new_ltEs12(vyy2220, vyy2230)
new_esEs35(vyy3000, vyy400, app(app(ty_@2, fdh), fea)) → new_esEs14(vyy3000, vyy400, fdh, fea)
new_gtEs3(vyy30, vyy4, bda, bdb, bdc) → new_not(new_esEs40(new_compare5(vyy30, vyy4, bda, bdb, bdc)))
new_esEs10(vyy300, vyy40, app(ty_Maybe, fac)) → new_esEs18(vyy300, vyy40, fac)
new_esEs29(vyy3002, vyy402, ty_Char) → new_esEs21(vyy3002, vyy402)
new_lt20(vyy2221, vyy2231, app(ty_Maybe, fha)) → new_lt14(vyy2221, vyy2231, fha)
new_compare27(vyy222, vyy223, False, eah) → new_compare16(vyy222, vyy223, new_ltEs20(vyy222, vyy223, eah), eah)
new_lt5(vyy2220, vyy2230, app(app(ty_Either, dha), dhb)) → new_lt18(vyy2220, vyy2230, dha, dhb)
new_esEs38(vyy212, vyy215, app(ty_Maybe, cdh)) → new_esEs18(vyy212, vyy215, cdh)
new_esEs36(vyy2221, vyy2231, ty_@0) → new_esEs15(vyy2221, vyy2231)
new_gtEs(vyy400, vyy35, ty_Integer) → new_gtEs4(vyy400, vyy35)
new_lt22(vyy211, vyy214, app(app(ty_Either, cbg), cbh)) → new_lt18(vyy211, vyy214, cbg, cbh)
new_esEs18(Just(vyy3000), Just(vyy400), ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs7(vyy301, vyy41, ty_Int) → new_esEs13(vyy301, vyy41)
new_ltEs18(vyy2221, vyy2231, ty_Ordering) → new_ltEs12(vyy2221, vyy2231)
new_esEs38(vyy212, vyy215, ty_Float) → new_esEs23(vyy212, vyy215)
new_esEs4(vyy301, vyy41, ty_@0) → new_esEs15(vyy301, vyy41)
new_gtEs12(vyy30, vyy4) → new_not(new_esEs40(new_compare6(vyy30, vyy4)))
new_esEs25(Right(vyy3000), Right(vyy400), bfe, app(app(ty_@2, bha), bhb)) → new_esEs14(vyy3000, vyy400, bha, bhb)
new_esEs37(vyy2220, vyy2230, ty_Int) → new_esEs13(vyy2220, vyy2230)
new_esEs27(vyy3000, vyy400, ty_Char) → new_esEs21(vyy3000, vyy400)
new_ltEs19(vyy234, vyy235, app(ty_Maybe, eab)) → new_ltEs13(vyy234, vyy235, eab)
new_gtEs4(vyy30, vyy4) → new_not(new_esEs40(new_compare8(vyy30, vyy4)))
new_ltEs20(vyy222, vyy223, ty_Float) → new_ltEs11(vyy222, vyy223)
new_compare32(vyy300, vyy40, ty_Int) → new_compare6(vyy300, vyy40)
new_esEs10(vyy300, vyy40, ty_Integer) → new_esEs16(vyy300, vyy40)
new_esEs36(vyy2221, vyy2231, ty_Ordering) → new_esEs19(vyy2221, vyy2231)
new_esEs8(vyy300, vyy40, ty_Int) → new_esEs13(vyy300, vyy40)
new_esEs23(Float(vyy3000, vyy3001), Float(vyy400, vyy401)) → new_esEs13(new_sr(vyy3000, vyy400), new_sr(vyy3001, vyy401))
new_lt21(vyy2220, vyy2230, ty_Int) → new_lt4(vyy2220, vyy2230)
new_ltEs23(vyy241, vyy242, app(ty_Maybe, cfd)) → new_ltEs13(vyy241, vyy242, cfd)
new_esEs25(Right(vyy3000), Right(vyy400), bfe, ty_Char) → new_esEs21(vyy3000, vyy400)
new_lt21(vyy2220, vyy2230, ty_Float) → new_lt12(vyy2220, vyy2230)
new_ltEs21(vyy251, vyy253, ty_Bool) → new_ltEs6(vyy251, vyy253)
new_ltEs20(vyy222, vyy223, ty_Integer) → new_ltEs8(vyy222, vyy223)
new_lt21(vyy2220, vyy2230, app(app(ty_Either, gaf), gag)) → new_lt18(vyy2220, vyy2230, gaf, gag)
new_gtEs0(vyy390, vyy35, ty_Float) → new_gtEs7(vyy390, vyy35)
new_esEs31(vyy3000, vyy400, ty_Float) → new_esEs23(vyy3000, vyy400)
new_esEs8(vyy300, vyy40, app(ty_[], dde)) → new_esEs17(vyy300, vyy40, dde)
new_primPlusNat0(Succ(vyy33000), Succ(vyy40000)) → Succ(Succ(new_primPlusNat0(vyy33000, vyy40000)))
new_ltEs13(Just(vyy2220), Just(vyy2230), app(app(app(ty_@3, ed), ee), ef)) → new_ltEs7(vyy2220, vyy2230, ed, ee, ef)
new_compare19(EQ, EQ) → EQ
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Char, fg) → new_ltEs17(vyy2220, vyy2230)
new_ltEs4(Left(vyy2220), Left(vyy2230), ty_Float, fg) → new_ltEs11(vyy2220, vyy2230)
new_esEs27(vyy3000, vyy400, app(app(ty_Either, dg), dh)) → new_esEs25(vyy3000, vyy400, dg, dh)
new_esEs7(vyy301, vyy41, app(app(ty_@2, dca), dcb)) → new_esEs14(vyy301, vyy41, dca, dcb)
new_ltEs4(Left(vyy2220), Left(vyy2230), app(app(ty_@2, fd), ff), fg) → new_ltEs5(vyy2220, vyy2230, fd, ff)
new_esEs28(vyy2220, vyy2230, app(app(app(ty_@3, dgc), dgd), dge)) → new_esEs20(vyy2220, vyy2230, dgc, dgd, dge)
new_ltEs23(vyy241, vyy242, ty_Char) → new_ltEs17(vyy241, vyy242)
new_compare19(LT, LT) → EQ
new_ltEs17(vyy222, vyy223) → new_fsEs(new_compare9(vyy222, vyy223))
new_compare28(Float(vyy300, vyy301), Float(vyy40, vyy41)) → new_compare6(new_sr(vyy300, vyy40), new_sr(vyy301, vyy41))
new_esEs7(vyy301, vyy41, app(ty_Maybe, dcd)) → new_esEs18(vyy301, vyy41, dcd)
new_esEs25(Left(vyy3000), Left(vyy400), app(app(ty_Either, bgg), bgh), bff) → new_esEs25(vyy3000, vyy400, bgg, bgh)
new_ltEs24(vyy213, vyy216, app(app(ty_@2, cca), ccb)) → new_ltEs5(vyy213, vyy216, cca, ccb)
new_gtEs0(vyy390, vyy35, app(app(app(ty_@3, bbc), bbd), bbe)) → new_gtEs3(vyy390, vyy35, bbc, bbd, bbe)
new_ltEs24(vyy213, vyy216, app(app(ty_Either, cda), cdb)) → new_ltEs4(vyy213, vyy216, cda, cdb)
new_esEs37(vyy2220, vyy2230, ty_Ordering) → new_esEs19(vyy2220, vyy2230)
new_lt23(vyy212, vyy215, app(app(ty_Either, cec), ced)) → new_lt18(vyy212, vyy215, cec, ced)
new_esEs31(vyy3000, vyy400, app(app(app(ty_@3, eef), eeg), eeh)) → new_esEs20(vyy3000, vyy400, eef, eeg, eeh)
new_ltEs10(vyy222, vyy223) → new_fsEs(new_compare18(vyy222, vyy223))
new_primCompAux00(vyy228, GT) → GT
new_ltEs18(vyy2221, vyy2231, ty_Double) → new_ltEs9(vyy2221, vyy2231)
new_esEs37(vyy2220, vyy2230, ty_Double) → new_esEs12(vyy2220, vyy2230)
new_compare32(vyy300, vyy40, app(ty_Maybe, cgg)) → new_compare14(vyy300, vyy40, cgg)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_ltEs18(vyy2221, vyy2231, ty_Integer) → new_ltEs8(vyy2221, vyy2231)
new_ltEs21(vyy251, vyy253, ty_Char) → new_ltEs17(vyy251, vyy253)
new_ltEs21(vyy251, vyy253, ty_Double) → new_ltEs9(vyy251, vyy253)
new_primCmpInt(Neg(Succ(vyy3000)), Pos(vyy40)) → LT
new_esEs5(vyy300, vyy40, ty_Bool) → new_esEs24(vyy300, vyy40)
new_esEs26(vyy3001, vyy401, app(ty_Ratio, cc)) → new_esEs22(vyy3001, vyy401, cc)
new_esEs4(vyy301, vyy41, app(ty_Maybe, bea)) → new_esEs18(vyy301, vyy41, bea)

The set Q consists of the following terms:

new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Bool)
new_ltEs18(x0, x1, ty_@0)
new_lt19(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_@0)
new_esEs37(x0, x1, ty_Int)
new_compare110(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs18(Just(x0), Just(x1), ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Integer)
new_gtEs0(x0, x1, ty_Double)
new_gtEs(x0, x1, app(app(ty_Either, x2), x3))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs10(x0, x1)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Char)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_gtEs12(x0, x1)
new_compare32(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs25(Left(x0), Left(x1), ty_Ordering, x2)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Bool)
new_lt5(x0, x1, ty_Int)
new_gtEs11(x0, x1, x2)
new_esEs25(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs16(Integer(x0), Integer(x1))
new_esEs28(x0, x1, ty_@0)
new_compare30(Left(x0), Left(x1), x2, x3)
new_lt21(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_gtEs(x0, x1, ty_Float)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, ty_Float)
new_ltEs20(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Int)
new_gtEs(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, ty_Ordering)
new_lt22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_lt19(x0, x1, ty_Bool)
new_ltEs6(True, True)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare210(x0, x1, True, x2, x3)
new_esEs36(x0, x1, app(ty_[], x2))
new_lt14(x0, x1, x2)
new_esEs25(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_compare6(x0, x1)
new_esEs25(Left(x0), Left(x1), ty_Char, x2)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_ltEs11(x0, x1)
new_esEs26(x0, x1, ty_Int)
new_esEs18(Nothing, Just(x0), x1)
new_gtEs0(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs9(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Char)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_eltsFM_GE0(x0, x1, x2, x3, x4)
new_esEs30(x0, x1, ty_Float)
new_gtEs(x0, x1, ty_Int)
new_lt19(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare29(x0, x1, x2, x3, False, x4, x5)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, ty_Char)
new_lt22(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(False, x0)
new_esEs25(Right(x0), Right(x1), x2, ty_Double)
new_lt5(x0, x1, ty_Ordering)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_Integer)
new_esEs25(Left(x0), Left(x1), ty_Bool, x2)
new_esEs19(LT, LT)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs17([], [], x0)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs40(EQ)
new_esEs18(Just(x0), Just(x1), app(ty_[], x2))
new_gtEs0(x0, x1, ty_Integer)
new_esEs25(Left(x0), Left(x1), ty_Int, x2)
new_esEs27(x0, x1, ty_Bool)
new_compare33(False, True)
new_compare33(True, False)
new_pePe(False, x0)
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_lt23(x0, x1, ty_Integer)
new_esEs20(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Int)
new_gtEs0(x0, x1, app(ty_[], x2))
new_compare19(LT, LT)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_foldFM_GE0(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(False, False)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_@0)
new_gtEs(x0, x1, ty_Char)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Int)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_gtEs(x0, x1, ty_Ordering)
new_compare28(Float(x0, x1), Float(x2, x3))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_gtEs10(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs39(x0, x1, ty_Char)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_gtEs6(x0, x1)
new_compare14(Just(x0), Just(x1), x2)
new_esEs31(x0, x1, ty_Char)
new_lt22(x0, x1, ty_Float)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs12(EQ, GT)
new_ltEs12(GT, EQ)
new_ltEs22(x0, x1, app(ty_[], x2))
new_compare32(x0, x1, ty_Bool)
new_primMulNat0(Zero, Succ(x0))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, EQ)
new_lt23(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Ordering)
new_esEs18(Just(x0), Just(x1), ty_Ordering)
new_esEs34(x0, x1, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs17(:(x0, x1), :(x2, x3), x4)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, ty_Float)
new_esEs25(Right(x0), Right(x1), x2, ty_Integer)
new_lt20(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Bool)
new_gtEs(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Integer)
new_esEs6(x0, x1, ty_Double)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_ltEs12(EQ, EQ)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(False, False)
new_compare25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, ty_@0)
new_lt6(x0, x1, x2, x3)
new_compare11(x0, x1, x2, x3, False, x4, x5, x6)
new_lt23(x0, x1, ty_Double)
new_pePe(True, x0)
new_esEs25(Right(x0), Right(x1), x2, ty_@0)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_@0)
new_esEs25(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt17(x0, x1)
new_lt20(x0, x1, ty_Integer)
new_ltEs15(x0, x1, x2)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Ordering)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Float)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_foldFM_GE0(x0, x1, EmptyFM, x2, x3)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_gtEs0(x0, x1, ty_Char)
new_compare110(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs39(x0, x1, ty_Float)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_lt16(x0, x1, x2)
new_esEs22(:%(x0, x1), :%(x2, x3), x4)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_@0)
new_esEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs9(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Double)
new_esEs36(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(ty_[], x2))
new_lt11(x0, x1)
new_esEs18(Just(x0), Just(x1), ty_Float)
new_ltEs22(x0, x1, ty_@0)
new_lt19(x0, x1, ty_Char)
new_esEs5(x0, x1, ty_@0)
new_esEs9(x0, x1, ty_Ordering)
new_compare12(x0, x1, x2, x3, True, x4, x5)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs27(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Float)
new_foldFM_GE10(x0, x1, x2, x3, x4, Branch(x5, x6, x7, x8, x9), x10, True, x11, x12)
new_primPlusNat1(Succ(x0), x1)
new_esEs25(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Integer)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_gtEs(x0, x1, ty_Double)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, ty_Float)
new_esEs19(GT, GT)
new_esEs24(True, True)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs28(x0, x1, ty_Float)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Double)
new_compare19(GT, GT)
new_esEs27(x0, x1, ty_@0)
new_lt9(x0, x1)
new_esEs18(Nothing, Nothing, x0)
new_esEs18(Just(x0), Just(x1), ty_Char)
new_ltEs24(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(EQ, LT)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, ty_Bool)
new_esEs19(LT, EQ)
new_compare19(EQ, LT)
new_compare19(LT, EQ)
new_foldFM_GE10(x0, x1, x2, x3, x4, EmptyFM, x5, True, x6, x7)
new_esEs38(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Ordering)
new_primCompAux00(x0, LT)
new_not(True)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_gtEs2(x0, x1)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs25(Right(x0), Right(x1), x2, ty_Bool)
new_esEs39(x0, x1, ty_Int)
new_lt18(x0, x1, x2, x3)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Ordering)
new_esEs25(Left(x0), Right(x1), x2, x3)
new_esEs25(Right(x0), Left(x1), x2, x3)
new_primMulInt(Pos(x0), Pos(x1))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, ty_Bool)
new_esEs4(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Float)
new_foldFM_GE20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_gtEs(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Zero)
new_esEs9(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_lt12(x0, x1)
new_compare15(x0, x1, True, x2, x3)
new_esEs35(x0, x1, ty_@0)
new_gtEs1(x0, x1, x2, x3)
new_esEs27(x0, x1, ty_Double)
new_esEs35(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Float)
new_gtEs0(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Bool)
new_esEs36(x0, x1, ty_@0)
new_compare32(x0, x1, ty_Float)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs13(Nothing, Nothing, x0)
new_esEs10(x0, x1, ty_Double)
new_ltEs17(x0, x1)
new_ltEs12(EQ, LT)
new_ltEs12(LT, EQ)
new_primCompAux0(x0, x1, x2, x3)
new_esEs39(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_[], x2))
new_gtEs(x0, x1, app(ty_[], x2))
new_esEs13(x0, x1)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_gtEs0(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs22(x0, x1, ty_Int)
new_compare32(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(ty_[], x2))
new_lt10(x0, x1)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs21(x0, x1, ty_Integer)
new_compare210(x0, x1, False, x2, x3)
new_lt19(x0, x1, ty_Double)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, app(ty_[], x2))
new_esEs25(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs10(x0, x1, ty_Ordering)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_gtEs0(x0, x1, ty_Int)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Bool)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, ty_Bool)
new_esEs25(Right(x0), Right(x1), x2, ty_Int)
new_compare12(x0, x1, x2, x3, False, x4, x5)
new_compare32(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs25(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Float)
new_esEs18(Just(x0), Just(x1), ty_Double)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs4(x0, x1, ty_Char)
new_ltEs12(LT, LT)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs25(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs24(x0, x1, ty_Int)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare19(GT, LT)
new_esEs39(x0, x1, ty_Double)
new_compare19(LT, GT)
new_ltEs19(x0, x1, ty_Char)
new_gtEs0(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, ty_Double)
new_compare5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Zero, x0)
new_lt21(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Ordering)
new_gtEs13(x0, x1)
new_esEs11(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Integer)
new_lt4(x0, x1)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_sr(x0, x1)
new_esEs18(Just(x0), Just(x1), ty_@0)
new_compare25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs12(GT, GT)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_@0)
new_compare14(Nothing, Nothing, x0)
new_compare14(Just(x0), Nothing, x1)
new_esEs31(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_Int)
new_esEs6(x0, x1, ty_Ordering)
new_lt19(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Integer)
new_esEs23(Float(x0, x1), Float(x2, x3))
new_esEs34(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_@0)
new_foldFM_GE3(x0, x1, x2, x3, x4, x5)
new_esEs11(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Double)
new_esEs25(Left(x0), Left(x1), ty_Double, x2)
new_ltEs24(x0, x1, ty_Double)
new_compare13(x0, x1, True, x2, x3)
new_esEs31(x0, x1, app(ty_[], x2))
new_lt15(x0, x1, x2)
new_compare18(@0, @0)
new_esEs25(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt5(x0, x1, ty_Bool)
new_esEs18(Just(x0), Nothing, x1)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Int)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs21(x0, x1, ty_Float)
new_primMulNat0(Succ(x0), Succ(x1))
new_gtEs8(x0, x1)
new_compare14(Nothing, Just(x0), x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt8(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs21(x0, x1, ty_Char)
new_compare32(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Float)
new_esEs25(Right(x0), Right(x1), x2, ty_Char)
new_esEs39(x0, x1, ty_Ordering)
new_esEs25(Left(x0), Left(x1), ty_Float, x2)
new_gtEs0(x0, x1, ty_Float)
new_esEs25(Left(x0), Left(x1), ty_@0, x2)
new_gtEs(x0, x1, app(ty_Ratio, x2))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs6(x0, x1, ty_Char)
new_esEs37(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs20(x0, x1, ty_Char)
new_esEs35(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_compare26(x0, x1, False, x2, x3)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_foldFM_GE10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_lt23(x0, x1, ty_Float)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_compare0([], [], x0)
new_lt5(x0, x1, ty_Integer)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs34(x0, x1, ty_Char)
new_esEs25(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare32(x0, x1, app(ty_Ratio, x2))
new_compare32(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_@0)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_compare32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Char)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs18(Just(x0), Just(x1), ty_Integer)
new_lt5(x0, x1, ty_Double)
new_esEs33(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Int)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Ordering)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs18(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primCmpNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_compare17(Double(x0, x1), Double(x2, x3))
new_esEs24(True, False)
new_esEs24(False, True)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare29(x0, x1, x2, x3, True, x4, x5)
new_esEs28(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Int)
new_esEs40(LT)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs18(x0, x1, ty_Char)
new_esEs36(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs18(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_gtEs0(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Float)
new_primPlusNat0(Zero, Zero)
new_esEs37(x0, x1, ty_@0)
new_fsEs(x0)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare13(x0, x1, False, x2, x3)
new_gtEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare30(Right(x0), Left(x1), x2, x3)
new_compare31(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare30(Left(x0), Right(x1), x2, x3)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs18(Just(x0), Just(x1), ty_Int)
new_esEs25(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs38(x0, x1, ty_@0)
new_ltEs18(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs6(True, False)
new_ltEs6(False, True)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_Char)
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_primCompAux00(x0, GT)
new_esEs31(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_gtEs(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, ty_@0)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_compare33(True, True)
new_esEs26(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Integer)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare33(False, False)
new_ltEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Double)
new_lt13(x0, x1)
new_lt5(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(x0, x1, True, x2)
new_lt21(x0, x1, app(ty_[], x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_ltEs9(x0, x1)
new_ltEs23(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Nothing, x1)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_gtEs9(x0, x1, x2)
new_esEs35(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_gtEs4(x0, x1)
new_esEs36(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs4(x0, x1, ty_Double)
new_esEs40(GT)
new_ltEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs25(Right(x0), Right(x1), x2, ty_Float)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Ordering)
new_esEs18(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Double)
new_esEs37(x0, x1, app(ty_[], x2))
new_gtEs0(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(x0, x1, True, x2)
new_esEs25(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Double)
new_ltEs21(x0, x1, ty_@0)
new_esEs7(x0, x1, ty_Float)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_lt22(x0, x1, ty_Double)
new_compare9(Char(x0), Char(x1))
new_esEs7(x0, x1, ty_Int)
new_gtEs(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Zero, Succ(x0))
new_lt21(x0, x1, ty_Bool)
new_ltEs13(Nothing, Just(x0), x1)
new_compare19(EQ, EQ)
new_esEs34(x0, x1, ty_Int)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_primPlusNat0(Succ(x0), Zero)
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_esEs4(x0, x1, ty_Float)
new_esEs32(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_Double)
new_compare32(x0, x1, ty_Double)
new_primCmpNat0(Zero, Zero)
new_esEs5(x0, x1, ty_Float)
new_esEs10(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Int)
new_esEs25(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs11(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_compare32(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Double)
new_esEs15(@0, @0)
new_esEs7(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Double)
new_esEs17(:(x0, x1), [], x2)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare8(Integer(x0), Integer(x1))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primPlusNat0(Zero, Succ(x0))
new_ltEs14(x0, x1, x2)
new_ltEs21(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs31(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Float)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_gtEs(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs19(EQ, EQ)
new_esEs39(x0, x1, ty_@0)
new_esEs5(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_gtEs0(x0, x1, ty_@0)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Char)
new_compare15(x0, x1, False, x2, x3)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_@0)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt23(x0, x1, ty_Bool)
new_ltEs16(x0, x1)
new_lt5(x0, x1, ty_@0)
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs7(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Int)
new_compare11(x0, x1, x2, x3, True, x4, x5, x6)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, ty_Integer)
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Ordering)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Int)
new_sr0(Integer(x0), Integer(x1))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs4(x0, x1, app(ty_[], x2))
new_ltEs8(x0, x1)
new_compare16(x0, x1, False, x2)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Bool)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Ordering)
new_compare32(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Bool)
new_esEs21(Char(x0), Char(x1))
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Float)
new_esEs18(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Int)
new_esEs17([], :(x0, x1), x2)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_Double)
new_ltEs23(x0, x1, ty_Integer)
new_gtEs3(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_compare19(GT, EQ)
new_compare19(EQ, GT)
new_gtEs5(x0, x1)
new_compare26(x0, x1, True, x2, x3)
new_ltEs22(x0, x1, ty_Bool)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, ty_Integer)
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs33(x0, x1, ty_Integer)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_gtEs7(x0, x1)
new_esEs38(x0, x1, ty_Bool)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs24(x0, x1, ty_Char)
new_compare27(x0, x1, False, x2)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_ltEs12(GT, LT)
new_ltEs12(LT, GT)
new_gtEs14(x0, x1, x2, x3)
new_compare0(:(x0, x1), [], x2)
new_lt19(x0, x1, ty_Ordering)
new_primMulNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_compare30(Right(x0), Right(x1), x2, x3)
new_esEs38(x0, x1, ty_Char)
new_ltEs23(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, ty_Integer)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: